[Python-apps-team] Bug#967023: beets: FTBFS: dh_auto_test: error: pybuild --test -i python{version} -p 3.8 returned exit code 13

Lucas Nussbaum lucas at debian.org
Mon Aug 3 12:58:12 BST 2020


Source: beets
Version: 1.4.9-5
Severity: serious
Justification: FTBFS on amd64
Tags: bullseye sid ftbfs
Usertags: ftbfs-20200802 ftbfs-bullseye

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.

Relevant part (hopefully):
> make[2]: Entering directory '/<<PKGBUILDDIR>>/docs'
> sphinx-build -b html -d _build/doctrees   . _build/html
> Running Sphinx v2.4.3
> making output directory... done
> building [mo]: targets for 0 po files that are out of date
> building [html]: targets for 76 source files that are out of date
> updating environment: [new config] 76 added, 0 changed, 0 removed
> reading sources... [  1%] changelog
> reading sources... [  2%] dev/api
> reading sources... [  3%] dev/index
> reading sources... [  5%] dev/media_file
> reading sources... [  6%] dev/plugins
> reading sources... [  7%] faq
> reading sources... [  9%] guides/advanced
> reading sources... [ 10%] guides/index
> reading sources... [ 11%] guides/main
> reading sources... [ 13%] guides/tagger
> reading sources... [ 14%] index
> reading sources... [ 15%] plugins/absubmit
> reading sources... [ 17%] plugins/acousticbrainz
> reading sources... [ 18%] plugins/badfiles
> reading sources... [ 19%] plugins/beatport
> reading sources... [ 21%] plugins/bpd
> reading sources... [ 22%] plugins/bpm
> reading sources... [ 23%] plugins/bucket
> reading sources... [ 25%] plugins/chroma
> reading sources... [ 26%] plugins/convert
> reading sources... [ 27%] plugins/discogs
> reading sources... [ 28%] plugins/duplicates
> reading sources... [ 30%] plugins/edit
> reading sources... [ 31%] plugins/embedart
> reading sources... [ 32%] plugins/embyupdate
> reading sources... [ 34%] plugins/export
> reading sources... [ 35%] plugins/fetchart
> reading sources... [ 36%] plugins/filefilter
> reading sources... [ 38%] plugins/freedesktop
> reading sources... [ 39%] plugins/fromfilename
> reading sources... [ 40%] plugins/ftintitle
> reading sources... [ 42%] plugins/fuzzy
> reading sources... [ 43%] plugins/gmusic
> reading sources... [ 44%] plugins/hook
> reading sources... [ 46%] plugins/ihate
> reading sources... [ 47%] plugins/importadded
> reading sources... [ 48%] plugins/importfeeds
> reading sources... [ 50%] plugins/index
> reading sources... [ 51%] plugins/info
> reading sources... [ 52%] plugins/inline
> reading sources... [ 53%] plugins/ipfs
> reading sources... [ 55%] plugins/keyfinder
> reading sources... [ 56%] plugins/kodiupdate
> reading sources... [ 57%] plugins/lastgenre
> reading sources... [ 59%] plugins/lastimport
> reading sources... [ 60%] plugins/loadext
> reading sources... [ 61%] plugins/lyrics
> reading sources... [ 63%] plugins/mbcollection
> reading sources... [ 64%] plugins/mbsubmit
> reading sources... [ 65%] plugins/mbsync
> reading sources... [ 67%] plugins/metasync
> reading sources... [ 68%] plugins/missing
> reading sources... [ 69%] plugins/mpdstats
> reading sources... [ 71%] plugins/mpdupdate
> reading sources... [ 72%] plugins/permissions
> reading sources... [ 73%] plugins/play
> reading sources... [ 75%] plugins/playlist
> reading sources... [ 76%] plugins/plexupdate
> reading sources... [ 77%] plugins/random
> reading sources... [ 78%] plugins/replaygain
> reading sources... [ 80%] plugins/rewrite
> reading sources... [ 81%] plugins/scrub
> reading sources... [ 82%] plugins/smartplaylist
> reading sources... [ 84%] plugins/sonosupdate
> reading sources... [ 85%] plugins/spotify
> reading sources... [ 86%] plugins/subsonicupdate
> reading sources... [ 88%] plugins/the
> reading sources... [ 89%] plugins/thumbnails
> reading sources... [ 90%] plugins/types
> reading sources... [ 92%] plugins/web
> reading sources... [ 93%] plugins/zero
> reading sources... [ 94%] reference/cli
> reading sources... [ 96%] reference/config
> reading sources... [ 97%] reference/index
> reading sources... [ 98%] reference/pathformat
> reading sources... [100%] reference/query
> 
> looking for now-outdated files... none found
> pickling environment... done
> checking consistency... done
> preparing documents... done
> writing output... [  1%] changelog
> writing output... [  2%] dev/api
> writing output... [  3%] dev/index
> writing output... [  5%] dev/media_file
> writing output... [  6%] dev/plugins
> writing output... [  7%] faq
> writing output... [  9%] guides/advanced
> writing output... [ 10%] guides/index
> writing output... [ 11%] guides/main
> writing output... [ 13%] guides/tagger
> writing output... [ 14%] index
> writing output... [ 15%] plugins/absubmit
> writing output... [ 17%] plugins/acousticbrainz
> writing output... [ 18%] plugins/badfiles
> writing output... [ 19%] plugins/beatport
> writing output... [ 21%] plugins/bpd
> writing output... [ 22%] plugins/bpm
> writing output... [ 23%] plugins/bucket
> writing output... [ 25%] plugins/chroma
> writing output... [ 26%] plugins/convert
> writing output... [ 27%] plugins/discogs
> writing output... [ 28%] plugins/duplicates
> writing output... [ 30%] plugins/edit
> writing output... [ 31%] plugins/embedart
> writing output... [ 32%] plugins/embyupdate
> writing output... [ 34%] plugins/export
> writing output... [ 35%] plugins/fetchart
> writing output... [ 36%] plugins/filefilter
> writing output... [ 38%] plugins/freedesktop
> writing output... [ 39%] plugins/fromfilename
> writing output... [ 40%] plugins/ftintitle
> writing output... [ 42%] plugins/fuzzy
> writing output... [ 43%] plugins/gmusic
> writing output... [ 44%] plugins/hook
> writing output... [ 46%] plugins/ihate
> writing output... [ 47%] plugins/importadded
> writing output... [ 48%] plugins/importfeeds
> writing output... [ 50%] plugins/index
> writing output... [ 51%] plugins/info
> writing output... [ 52%] plugins/inline
> writing output... [ 53%] plugins/ipfs
> writing output... [ 55%] plugins/keyfinder
> writing output... [ 56%] plugins/kodiupdate
> writing output... [ 57%] plugins/lastgenre
> writing output... [ 59%] plugins/lastimport
> writing output... [ 60%] plugins/loadext
> writing output... [ 61%] plugins/lyrics
> writing output... [ 63%] plugins/mbcollection
> writing output... [ 64%] plugins/mbsubmit
> writing output... [ 65%] plugins/mbsync
> writing output... [ 67%] plugins/metasync
> writing output... [ 68%] plugins/missing
> writing output... [ 69%] plugins/mpdstats
> writing output... [ 71%] plugins/mpdupdate
> writing output... [ 72%] plugins/permissions
> writing output... [ 73%] plugins/play
> writing output... [ 75%] plugins/playlist
> writing output... [ 76%] plugins/plexupdate
> writing output... [ 77%] plugins/random
> writing output... [ 78%] plugins/replaygain
> writing output... [ 80%] plugins/rewrite
> writing output... [ 81%] plugins/scrub
> writing output... [ 82%] plugins/smartplaylist
> writing output... [ 84%] plugins/sonosupdate
> writing output... [ 85%] plugins/spotify
> writing output... [ 86%] plugins/subsonicupdate
> writing output... [ 88%] plugins/the
> writing output... [ 89%] plugins/thumbnails
> writing output... [ 90%] plugins/types
> writing output... [ 92%] plugins/web
> writing output... [ 93%] plugins/zero
> writing output... [ 94%] reference/cli
> writing output... [ 96%] reference/config
> writing output... [ 97%] reference/index
> writing output... [ 98%] reference/pathformat
> writing output... [100%] reference/query
> 
> generating indices...  genindexdone
> writing additional pages...  searchdone
> copying images... [100%] plugins/beetsweb.png
> 
> copying static files... ... done
> copying extra files... done
> dumping search index in English (code: en)... done
> dumping object inventory... done
> build succeeded.
> 
> The HTML pages are in _build/html.
> 
> Build finished. The HTML pages are in _build/html.
> sphinx-build -b man -d _build/doctrees   . _build/man
> Running Sphinx v2.4.3
> making output directory... done
> loading pickled environment... done
> building [mo]: targets for 0 po files that are out of date
> building [man]: all manpages
> updating environment: 0 added, 0 changed, 0 removed
> looking for now-outdated files... none found
> writing... beet.1 { } beetsconfig.5 { } done
> build succeeded.
> 
> The manual pages are in _build/man.
> 
> Build finished. The manual pages are in _build/man.
> make[2]: Leaving directory '/<<PKGBUILDDIR>>/docs'
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
>    dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:217: python3.8 setup.py test 
> running test
> WARNING: Testing via this command is deprecated and will be removed in a future version. Users looking for a generic test entry point independent of test runner are encouraged to use tox.
> running egg_info
> writing beets.egg-info/PKG-INFO
> writing dependency_links to beets.egg-info/dependency_links.txt
> writing entry points to beets.egg-info/entry_points.txt
> writing requirements to beets.egg-info/requires.txt
> writing top-level names to beets.egg-info/top_level.txt
> reading manifest file 'beets.egg-info/SOURCES.txt'
> reading manifest template 'MANIFEST.in'
> warning: no previously-included files matching '*.pyc' found under directory 'test/rsrc'
> warning: no previously-included files matching '*.pyo' found under directory 'test/rsrc'
> warning: no previously-included files matching '.DS_Store' found anywhere in distribution
> writing manifest file 'beets.egg-info/SOURCES.txt'
> running build_ext
> test_choose_first_candidate (test_ui_importer.ChooseCandidateTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpkz_w6fm3/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist M - Applied Album M (albumid M)
> ../beets/autotag/hooks.py:241: DeprecationWarning: PY_SSIZE_T_CLEAN will be required for '#' formats
>   return levenshtein_distance(str1, str2) / float(max(len(str1), len(str2)))
> Computing track assignment...
> ...done.
> Success. Distance: 0.53
> Sending event: albuminfo_received
> Candidate: Applied Artist MM - Applied Album MM (albumid MM)
> Computing track assignment...
> ...done.
> Success. Distance: 0.55
> Evaluating 2 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_choose_second_candidate (test_ui_importer.ChooseCandidateTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpqjnfsxjw/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist M - Applied Album M (albumid M)
> Computing track assignment...
> ...done.
> Success. Distance: 0.53
> Sending event: albuminfo_received
> Candidate: Applied Artist MM - Applied Album MM (albumid MM)
> Computing track assignment...
> ...done.
> Success. Distance: 0.55
> Evaluating 2 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_add_album_for_different_artist_and_different_album (test_ui_importer.GlobalGroupAlbumsImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_created
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp0oj6_g8p/testsrcdir/the_album/track_1.mp3
> Tagging Artist B - Album B
> No album ID found.
> Search terms: Artist B - Album B
> Album might be VA: False
> Evaluating 0 candidates.
> Sending event: import_task_start
> Looking up: /tmp/tmp0oj6_g8p/testsrcdir/the_album/track_2.mp3; /tmp/tmp0oj6_g8p/testsrcdir/the_album/track_3.mp3
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Evaluating 0 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_add_album_for_different_artist_and_same_albumartist (test_ui_importer.GlobalGroupAlbumsImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_created
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpoos_a4di/testsrcdir/the_album/track_1.mp3; /tmp/tmpoos_a4di/testsrcdir/the_album/track_2.mp3
> Tagging Album Artist - Tag Album
> No album ID found.
> Search terms: Album Artist - Tag Album
> Album might be VA: True
> Evaluating 0 candidates.
> Sending event: import_task_start
> Looking up: /tmp/tmpoos_a4di/testsrcdir/the_album/track_3.mp3
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Evaluating 0 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_add_album_for_same_album_and_different_artist (test_ui_importer.GlobalGroupAlbumsImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_created
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp_cs0zeho/testsrcdir/the_album/track_1.mp3
> Tagging Artist B - Tag Album
> No album ID found.
> Search terms: Artist B - Tag Album
> Album might be VA: False
> Evaluating 0 candidates.
> Sending event: import_task_start
> Looking up: /tmp/tmp_cs0zeho/testsrcdir/the_album/track_2.mp3; /tmp/tmp_cs0zeho/testsrcdir/the_album/track_3.mp3
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Evaluating 0 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_add_album_for_same_artist_and_different_album (test_ui_importer.GlobalGroupAlbumsImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_created
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpst4lh5z1/testsrcdir/the_album/track_1.mp3
> Tagging Tag Artist - Album B
> No album ID found.
> Search terms: Tag Artist - Album B
> Album might be VA: False
> Evaluating 0 candidates.
> Sending event: import_task_start
> Looking up: /tmp/tmpst4lh5z1/testsrcdir/the_album/track_2.mp3; /tmp/tmpst4lh5z1/testsrcdir/the_album/track_3.mp3
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Evaluating 0 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_incremental (test_ui_importer.GlobalGroupAlbumsImportTest) ... Sending event: import_begin
> state file could not be read: [Errno 2] No such file or directory: '/tmp/tmpby7yk1_x/state.pickle'
> Sending event: import_task_created
> Sending event: import_task_created
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpby7yk1_x/testsrcdir/the_album/track_1.mp3
> Tagging Tag Artist - Album B
> No album ID found.
> Search terms: Tag Artist - Album B
> Album might be VA: False
> Evaluating 0 candidates.
> Sending event: import_task_start
> Looking up: /tmp/tmpby7yk1_x/testsrcdir/the_album/track_2.mp3; /tmp/tmpby7yk1_x/testsrcdir/the_album/track_3.mp3
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Evaluating 0 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> state file could not be read: [Errno 2] No such file or directory: '/tmp/tmpby7yk1_x/state.pickle'
> Sending event: album_imported
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_add_album_for_different_artist_and_different_album (test_ui_importer.GroupAlbumsImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpt6i0ncut/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: True
> Evaluating 0 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_created
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpt6i0ncut/testsrcdir/the_album/track_1.mp3
> Tagging Artist B - Album B
> No album ID found.
> Search terms: Artist B - Album B
> Album might be VA: False
> Evaluating 0 candidates.
> Sending event: import_task_start
> Looking up: /tmp/tmpt6i0ncut/testsrcdir/the_album/track_2.mp3; /tmp/tmpt6i0ncut/testsrcdir/the_album/track_3.mp3
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Evaluating 0 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_add_album_for_different_artist_and_same_albumartist (test_ui_importer.GroupAlbumsImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmprhsprgrn/testsrcdir/the_album
> Tagging Artist B - Tag Album
> No album ID found.
> Search terms: Artist B - Tag Album
> Album might be VA: True
> Evaluating 0 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_created
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmprhsprgrn/testsrcdir/the_album/track_1.mp3; /tmp/tmprhsprgrn/testsrcdir/the_album/track_2.mp3
> Tagging Album Artist - Tag Album
> No album ID found.
> Search terms: Album Artist - Tag Album
> Album might be VA: True
> Evaluating 0 candidates.
> Sending event: import_task_start
> Looking up: /tmp/tmprhsprgrn/testsrcdir/the_album/track_3.mp3
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Evaluating 0 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_add_album_for_same_album_and_different_artist (test_ui_importer.GroupAlbumsImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmplg_5c6wm/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: True
> Evaluating 0 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_created
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmplg_5c6wm/testsrcdir/the_album/track_1.mp3
> Tagging Artist B - Tag Album
> No album ID found.
> Search terms: Artist B - Tag Album
> Album might be VA: False
> Evaluating 0 candidates.
> Sending event: import_task_start
> Looking up: /tmp/tmplg_5c6wm/testsrcdir/the_album/track_2.mp3; /tmp/tmplg_5c6wm/testsrcdir/the_album/track_3.mp3
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Evaluating 0 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_add_album_for_same_artist_and_different_album (test_ui_importer.GroupAlbumsImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpffti4mtg/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Evaluating 0 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_created
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpffti4mtg/testsrcdir/the_album/track_1.mp3
> Tagging Tag Artist - Album B
> No album ID found.
> Search terms: Tag Artist - Album B
> Album might be VA: False
> Evaluating 0 candidates.
> Sending event: import_task_start
> Looking up: /tmp/tmpffti4mtg/testsrcdir/the_album/track_2.mp3; /tmp/tmpffti4mtg/testsrcdir/the_album/track_3.mp3
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Evaluating 0 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_incremental (test_ui_importer.GroupAlbumsImportTest) ... Sending event: import_begin
> state file could not be read: [Errno 2] No such file or directory: '/tmp/tmp1yf_eyjc/state.pickle'
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp1yf_eyjc/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Evaluating 0 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_created
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp1yf_eyjc/testsrcdir/the_album/track_1.mp3
> Tagging Tag Artist - Album B
> No album ID found.
> Search terms: Tag Artist - Album B
> Album might be VA: False
> Evaluating 0 candidates.
> Sending event: import_task_start
> Looking up: /tmp/tmp1yf_eyjc/testsrcdir/the_album/track_2.mp3; /tmp/tmp1yf_eyjc/testsrcdir/the_album/track_3.mp3
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Evaluating 0 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> state file could not be read: [Errno 2] No such file or directory: '/tmp/tmp1yf_eyjc/state.pickle'
> Sending event: album_imported
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_asis_albumartist_tag_sets_albumartist (test_ui_importer.ImportCompilationTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpov1upfso/testsrcdir/the_album
> Tagging Album Artist - Tag Album
> No album ID found.
> Search terms: Album Artist - Tag Album
> Album might be VA: True
> Sending event: albuminfo_received
> Candidate: Album Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.31
> Sending event: albuminfo_received
> Candidate: Various Artists - Applied Album (albumid)
> Duplicate.
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> 0 of 3 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_asis_heterogenous_sets_sompilation (test_ui_importer.ImportCompilationTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmppqclou_l/testsrcdir/the_album
> Tagging Other Artist - Tag Album
> No album ID found.
> Search terms: Other Artist - Tag Album
> Album might be VA: True
> Sending event: albuminfo_received
> Candidate: Other Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.31
> Sending event: albuminfo_received
> Candidate: Various Artists - Applied Album (albumid)
> Duplicate.
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> 0 of 3 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_asis_heterogenous_sets_various_albumartist (test_ui_importer.ImportCompilationTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpuk0d2rje/testsrcdir/the_album
> Tagging Other Artist - Tag Album
> No album ID found.
> Search terms: Other Artist - Tag Album
> Album might be VA: True
> Sending event: albuminfo_received
> Candidate: Other Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.31
> Sending event: albuminfo_received
> Candidate: Various Artists - Applied Album (albumid)
> Duplicate.
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> 0 of 3 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_asis_homogenous_sets_albumartist (test_ui_importer.ImportCompilationTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpdesb1csv/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.44
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> 0 of 3 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_asis_sets_majority_albumartist (test_ui_importer.ImportCompilationTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp9akx0lhm/testsrcdir/the_album
> Tagging Other Artist - Tag Album
> No album ID found.
> Search terms: Other Artist - Tag Album
> Album might be VA: True
> Sending event: albuminfo_received
> Candidate: Other Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.31
> Sending event: albuminfo_received
> Candidate: Various Artists - Applied Album (albumid)
> Duplicate.
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> 0 of 3 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_asis_updated_moves_file (test_ui_importer.ImportExistingTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpsrrn0y74/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpsrrn0y74/libdir/Applied Artist/Applied Album
> Tagging Applied Artist - Applied Album
> Searching for discovered album ID: albumid
> Search terms: Applied Artist - Applied Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.02
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Replacing item 1: /tmp/tmpsrrn0y74/libdir/Applied Artist/Applied Album/Applied Title 1.mp3
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> 1 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Reimported album: added 1596388972.1675394, flexible attributes [] from album 1 for /tmp/tmpsrrn0y74/libdir/Applied Artist/Applied Album
> Reimported item added 1596388972.168351 from item 1 for /tmp/tmpsrrn0y74/libdir/Applied Artist/Applied Album/Applied Title 1.mp3
> Reimported item flexible attributes [] from item 1 for /tmp/tmpsrrn0y74/libdir/Applied Artist/Applied Album/Applied Title 1.mp3
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_asis_updated_without_copy_does_not_move_file (test_ui_importer.ImportExistingTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp4dmuax05/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp4dmuax05/libdir/Applied Artist/Applied Album
> Tagging Applied Artist - Applied Album
> Searching for discovered album ID: albumid
> Search terms: Applied Artist - Applied Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.02
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Replacing item 1: /tmp/tmp4dmuax05/libdir/Applied Artist/Applied Album/Applied Title 1.mp3
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> 1 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Reimported album: added 1596388972.219941, flexible attributes [] from album 1 for /tmp/tmp4dmuax05/libdir/Applied Artist/Applied Album
> Reimported item added 1596388972.2207432 from item 1 for /tmp/tmp4dmuax05/libdir/Applied Artist/Applied Album/Applied Title 1.mp3
> Reimported item flexible attributes [] from item 1 for /tmp/tmp4dmuax05/libdir/Applied Artist/Applied Album/Applied Title 1.mp3
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_asis_updates_metadata (test_ui_importer.ImportExistingTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpu7ns6yxh/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpu7ns6yxh/libdir/Applied Artist/Applied Album
> Tagging Applied Artist - Applied Album
> Searching for discovered album ID: albumid
> Search terms: Applied Artist - Applied Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.02
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Replacing item 1: /tmp/tmpu7ns6yxh/libdir/Applied Artist/Applied Album/Applied Title 1.mp3
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> 1 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Reimported album: added 1596388972.2700584, flexible attributes [] from album 1 for /tmp/tmpu7ns6yxh/libdir/Applied Artist/Applied Album
> Reimported item added 1596388972.2708871 from item 1 for /tmp/tmpu7ns6yxh/libdir/Applied Artist/Applied Album/Applied Title 1.mp3
> Reimported item flexible attributes [] from item 1 for /tmp/tmpu7ns6yxh/libdir/Applied Artist/Applied Album/Applied Title 1.mp3
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_does_not_duplicate_album (test_ui_importer.ImportExistingTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmplt4ra9hr/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmplt4ra9hr/libdir/Applied Artist/Applied Album
> Tagging Applied Artist - Applied Album
> Searching for discovered album ID: albumid
> Search terms: Applied Artist - Applied Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.00
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_apply
> Replacing item 1: /tmp/tmplt4ra9hr/libdir/Applied Artist/Applied Album/Applied Title 1.mp3
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> 1 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Reimported album: added 1596388972.3216743, flexible attributes [] from album 1 for /tmp/tmplt4ra9hr/libdir/Applied Artist/Applied Album
> Reimported item added 1596388972.3224845 from item 1 for /tmp/tmplt4ra9hr/libdir/Applied Artist/Applied Album/Applied Title 1.mp3
> Reimported item flexible attributes [] from item 1 for /tmp/tmplt4ra9hr/libdir/Applied Artist/Applied Album/Applied Title 1.mp3
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_does_not_duplicate_item (test_ui_importer.ImportExistingTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp9uswcpjf/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp9uswcpjf/libdir/Applied Artist/Applied Album
> Tagging Applied Artist - Applied Album
> Searching for discovered album ID: albumid
> Search terms: Applied Artist - Applied Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.00
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_apply
> Replacing item 1: /tmp/tmp9uswcpjf/libdir/Applied Artist/Applied Album/Applied Title 1.mp3
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> 1 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Reimported album: added 1596388972.3752189, flexible attributes [] from album 1 for /tmp/tmp9uswcpjf/libdir/Applied Artist/Applied Album
> Reimported item added 1596388972.3760214 from item 1 for /tmp/tmp9uswcpjf/libdir/Applied Artist/Applied Album/Applied Title 1.mp3
> Reimported item flexible attributes [] from item 1 for /tmp/tmp9uswcpjf/libdir/Applied Artist/Applied Album/Applied Title 1.mp3
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_does_not_duplicate_singleton_track (test_ui_importer.ImportExistingTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpkgj2y5jy/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpkgj2y5jy/testsrcdir/the_album/track_1.mp3
> Item search terms: Tag Artist - Tag Title 1
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpkgj2y5jy/libdir/singletons
> Tagging Applied Artist - Tag Album
> No album ID found.
> Search terms: Applied Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.34
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpkgj2y5jy/libdir/singletons/Applied Title 1.mp3
> Searching for track ID: trackid
> Item search terms: Applied Artist - Applied Title 1
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_apply
> Replacing item 1: /tmp/tmpkgj2y5jy/libdir/singletons/Applied Title 1.mp3
> Sending event: database_change
> Sending event: item_removed
> 1 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Reimported item added 1596388972.4294603 from item 1 for /tmp/tmpkgj2y5jy/libdir/singletons/Applied Title 1.mp3
> Reimported item flexible attributes [] from item 1 for /tmp/tmpkgj2y5jy/libdir/singletons/Applied Title 1.mp3
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> ok
> test_outside_file_is_copied (test_ui_importer.ImportExistingTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpwnkpbliw/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpwnkpbliw/testsrcdir/the_album
> Tagging Applied Artist - Applied Album
> Searching for discovered album ID: albumid
> Search terms: Applied Artist - Applied Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.00
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_apply
> Replacing item 1: /tmp/tmpwnkpbliw/testsrcdir/the_album/track_1.mp3
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> 1 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Reimported album: added 1596388972.4791179, flexible attributes [] from album 1 for /tmp/tmpwnkpbliw/testsrcdir/the_album
> Reimported item added 1596388972.4799316 from item 1 for /tmp/tmpwnkpbliw/testsrcdir/the_album/track_1.mp3
> Reimported item flexible attributes [] from item 1 for /tmp/tmpwnkpbliw/testsrcdir/the_album/track_1.mp3
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_outside_file_is_moved (test_ui_importer.ImportExistingTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpj3cqh1nr/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpj3cqh1nr/testsrcdir/the_album
> Tagging Applied Artist - Applied Album
> Searching for discovered album ID: albumid
> Search terms: Applied Artist - Applied Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.00
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_apply
> Replacing item 1: /tmp/tmpj3cqh1nr/testsrcdir/the_album/track_1.mp3
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> 1 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Reimported album: added 1596388972.5328941, flexible attributes [] from album 1 for /tmp/tmpj3cqh1nr/testsrcdir/the_album
> Reimported item added 1596388972.5336878 from item 1 for /tmp/tmpj3cqh1nr/testsrcdir/the_album/track_1.mp3
> Reimported item flexible attributes [] from item 1 for /tmp/tmpj3cqh1nr/testsrcdir/the_album/track_1.mp3
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_apply_asis_adds_singleton_path (test_ui_importer.ImportSingletonTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpc94pm6e0/testsrcdir/the_album/track_1.mp3
> Item search terms: Tag Artist - Tag Title 1
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> ok
> test_apply_asis_adds_track (test_ui_importer.ImportSingletonTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpd7ragrtp/testsrcdir/the_album/track_1.mp3
> Item search terms: Tag Artist - Tag Title 1
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> ok
> test_apply_asis_does_not_add_album (test_ui_importer.ImportSingletonTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpbz60csnp/testsrcdir/the_album/track_1.mp3
> Item search terms: Tag Artist - Tag Title 1
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> ok
> test_apply_candidate_adds_singleton_path (test_ui_importer.ImportSingletonTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpw3t9_b2x/testsrcdir/the_album/track_1.mp3
> Item search terms: Tag Artist - Tag Title 1
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> ok
> test_apply_candidate_adds_track (test_ui_importer.ImportSingletonTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpktuaa5nk/testsrcdir/the_album/track_1.mp3
> Item search terms: Tag Artist - Tag Title 1
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> ok
> test_apply_candidate_does_not_add_album (test_ui_importer.ImportSingletonTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpdaazmii2/testsrcdir/the_album/track_1.mp3
> Item search terms: Tag Artist - Tag Title 1
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> ok
> test_import_single_files (test_ui_importer.ImportSingletonTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp3y_4qb7k/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp3y_4qb7k/testsrcdir/track_2.mp3
> Tagging  - 
> No album ID found.
> Search terms:  - 
> Album might be VA: True
> Evaluating 0 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_set_fields (test_ui_importer.ImportSingletonTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp7law18_v/testsrcdir/the_album/track_1.mp3
> Item search terms: Tag Artist - Tag Title 1
> Sending event: trackinfo_received
> ../beets/autotag/hooks.py:241: DeprecationWarning: PY_SSIZE_T_CLEAN will be required for '#' formats
>   return levenshtein_distance(str1, str2) / float(max(len(str1), len(str2)))
> Found 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Set field collection=To Listen for /tmp/tmp7law18_v/testsrcdir/the_album/track_1.mp3
> Set field genre=🎷 Jazz for /tmp/tmp7law18_v/testsrcdir/the_album/track_1.mp3
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> Sending event: database_change
> Sending event: item_removed
> Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp7law18_v/testsrcdir/the_album/track_1.mp3
> Item search terms: Tag Artist - Tag Title 1
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Set field collection=To Listen for /tmp/tmp7law18_v/testsrcdir/the_album/track_1.mp3
> Set field genre=🎷 Jazz for /tmp/tmp7law18_v/testsrcdir/the_album/track_1.mp3
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> ok
> test_skip_adds_other_tracks (test_ui_importer.ImportSingletonTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp0_tkimm2/testsrcdir/the_album/track_1.mp3
> Item search terms: Tag Artist - Tag Title 1
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp0_tkimm2/testsrcdir/the_album/track_2.mp3
> Item search terms: Tag Artist - Tag Title 2
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> ok
> test_skip_does_not_add_first_track (test_ui_importer.ImportSingletonTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpygl4zh3e/testsrcdir/the_album/track_1.mp3
> Item search terms: Tag Artist - Tag Title 1
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> ok
> test_apply_asis_adds_album (test_ui_importer.ImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpjaxg688k/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_apply_asis_adds_album_path (test_ui_importer.ImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp562ryh_r/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_apply_asis_adds_tracks (test_ui_importer.ImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpfrjo8qh3/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_apply_candidate_adds_album (test_ui_importer.ImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpukg1ra78/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_apply_candidate_adds_album_path (test_ui_importer.ImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmposwpuy9a/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_apply_candidate_adds_tracks (test_ui_importer.ImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp_lz5m7v0/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_apply_from_scratch_keeps_bitrate (test_ui_importer.ImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp6mdi5tvi/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_apply_from_scratch_keeps_format (test_ui_importer.ImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpaubjj5x2/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_apply_from_scratch_removes_other_metadata (test_ui_importer.ImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp_idutktd/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_apply_with_delete_deletes_import (test_ui_importer.ImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpq7b2o2vv/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_apply_with_move_deletes_import (test_ui_importer.ImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpaj4c6whm/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_asis_no_data_source (test_ui_importer.ImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpqymg6yym/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_empty_directory_singleton_warning (test_ui_importer.ImportTest) ... Sending event: import_begin
> No files imported from /tmp/tmpvl0oo9kw/empty
> ok
> test_empty_directory_warning (test_ui_importer.ImportTest) ... Sending event: import_begin
> No files imported from /tmp/tmpx6zluacm/empty
> ok
> test_set_fields (test_ui_importer.ImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpnp71ob94/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Set field collection=To Listen for /tmp/tmpnp71ob94/testsrcdir/the_album
> Set field genre=🎷 Jazz for /tmp/tmpnp71ob94/testsrcdir/the_album
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpnp71ob94/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Set field collection=To Listen for /tmp/tmpnp71ob94/testsrcdir/the_album
> Set field genre=🎷 Jazz for /tmp/tmpnp71ob94/testsrcdir/the_album
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_skip_does_not_add_track (test_ui_importer.ImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmprgs_pb06/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> ok
> test_skip_non_album_dirs (test_ui_importer.ImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp9d7zl1yk/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_unmatched_tracks_not_added (test_ui_importer.ImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp51ybqsk1/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.54
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_apply_tracks_adds_singleton_path (test_ui_importer.ImportTracksTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp3red86fl/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp3red86fl/testsrcdir/the_album/track_1.mp3
> Item search terms: Tag Artist - Tag Title 1
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> ok
> test_apply_tracks_adds_singleton_track (test_ui_importer.ImportTracksTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp4qktif9v/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp4qktif9v/testsrcdir/the_album/track_1.mp3
> Item search terms: Tag Artist - Tag Title 1
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> ok
> test_album_created_with_track_artist (test_ui_importer.NonAutotaggedImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> /tmp/tmpfjib_5k4/testsrcdir/the_album
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_import_copy_arrives (test_ui_importer.NonAutotaggedImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> /tmp/tmp_sdwpjjb/testsrcdir/the_album
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_import_hardlink_arrives (test_ui_importer.NonAutotaggedImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> /tmp/tmppxbz429w/testsrcdir/the_album
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_hardlinked
> Sending event: database_change
> Sending event: database_change
> Sending event: item_hardlinked
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_import_link_arrives (test_ui_importer.NonAutotaggedImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> /tmp/tmphq17o2wf/testsrcdir/the_album
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_linked
> Sending event: database_change
> Sending event: database_change
> Sending event: item_linked
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_import_with_delete_prunes_directory_empty (test_ui_importer.NonAutotaggedImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> /tmp/tmppmpur7aa/testsrcdir/the_album
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_import_with_delete_removes_files (test_ui_importer.NonAutotaggedImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> /tmp/tmpa7uzbljp/testsrcdir/the_album
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_import_with_move_deletes_import_files (test_ui_importer.NonAutotaggedImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> /tmp/tmpwf92enzt/testsrcdir/the_album
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_import_with_move_prunes_directory_empty (test_ui_importer.NonAutotaggedImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> /tmp/tmp16i06ehi/testsrcdir/the_album
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_import_with_move_prunes_with_extra_clutter (test_ui_importer.NonAutotaggedImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> /tmp/tmpqytnf749/testsrcdir/the_album
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_import_without_delete_retains_files (test_ui_importer.NonAutotaggedImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> /tmp/tmpf9pkyrud/testsrcdir/the_album
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_threaded_import_copy_arrives (test_ui_importer.NonAutotaggedImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> /tmp/tmp3sgbmofw/testsrcdir/the_album
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_threaded_import_move_arrives (test_ui_importer.NonAutotaggedImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> /tmp/tmpnhuj0_gm/testsrcdir/the_album
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_threaded_import_move_deletes_import (test_ui_importer.NonAutotaggedImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> /tmp/tmpt4qy84p7/testsrcdir/the_album
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_import_task_created (test_plugins.EventsTest) ... skipped 'unreliable'
> test_import_task_created_with_plugin (test_plugins.EventsTest) ... skipped 'unreliable'
> test_sanitize_choices (test_plugins.HelpersTest) ... ok
> test_match (test_plugins.ItemTypeConflictTest) ... ok
> test_mismatch (test_plugins.ItemTypeConflictTest) ... ok
> test_flex_field_type (test_plugins.ItemTypesTest) ... Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpno_39s3k/config.yaml
> data directory: /tmp/tmpno_39s3k
> plugin paths: 
> Sending event: pluginload
> Sending event: cli_exit
> no user configuration found at /tmp/tmpno_39s3k/config.yaml
> data directory: /tmp/tmpno_39s3k
> plugin paths: 
> Sending event: pluginload
> Sending event: write
> open failed: [Errno 2] No such file or directory: b'apath'
> error reading apath: [Errno 2] No such file or directory: b'apath'
> Sending event: database_change
> Sending event: cli_exit
> no user configuration found at /tmp/tmpno_39s3k/config.yaml
> data directory: /tmp/tmpno_39s3k
> plugin paths: 
> Sending event: pluginload
> Sending event: cli_exit
> no user configuration found at /tmp/tmpno_39s3k/config.yaml
> data directory: /tmp/tmpno_39s3k
> plugin paths: 
> Sending event: pluginload
> Sending event: cli_exit
> ok
> test_change_tags (test_plugins.ItemWriteTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> ok
> test_events_called (test_plugins.ListenersTest) ... Sending event: event
> Sending event: event_foo
> ok
> test_listener_params (test_plugins.ListenersTest) ... Sending event: event1
> Sending event: event2
> Sending event: event3
> Sending event: event4
> Sending event: event5
> Sending event: event6
> Sending event: event7
> Sending event: event8
> Sending event: event9
> ok
> test_register (test_plugins.ListenersTest) ... ok
> test_choices_conflicts (test_plugins.PromptChoicesTest)
> Test the short letter conflict solving. ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp9g5nbfo5/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.44
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Prompt choice 'A foo' removed due to conflict with 'Apply' (short letter: 'a')
> Prompt choice 'Zupe' removed due to conflict with 'baZ' (short letter: 'z')
> Prompt choice 'Zoo' removed due to conflict with 'baZ' (short letter: 'z')
> Sending event: import_task_choice
> ok
> test_plugin_callback (test_plugins.PromptChoicesTest)
> Test that plugin callbacks are being called upon user choice. ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpsbsbjz4u/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.44
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> ok
> test_plugin_callback_return (test_plugins.PromptChoicesTest)
> Test that plugin callbacks that return a value exit the loop. ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp0yxjfgg7/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.44
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> ok
> test_plugin_choices_in_ui_input_options_album (test_plugins.PromptChoicesTest)
> Test the presence of plugin choices on the prompt (album). ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpvi28xl5d/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.44
> Evaluating 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> ok
> test_plugin_choices_in_ui_input_options_singleton (test_plugins.PromptChoicesTest)
> Test the presence of plugin choices on the prompt (singleton). ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpljtheq7f/testsrcdir/the_album/track_1.mp3
> Item search terms: Tag Artist - Tag Title 1
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpljtheq7f/testsrcdir/the_album/track_2.mp3
> Item search terms: Tag Artist - Tag Title 2
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpljtheq7f/testsrcdir/the_album/track_3.mp3
> Item search terms: Tag Artist - Tag Title 3
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> ok
> test_finds_all_albums (test_importer.AlbumsInDirTest) ... ok
> test_finds_multiple_songs (test_importer.AlbumsInDirTest) ... ok
> test_separates_contents (test_importer.AlbumsInDirTest) ... ok
> test_choose_first_candidate (test_importer.ChooseCandidateTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpdbsw18sd/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist M - Applied Album M (albumid M)
> Computing track assignment...
> ...done.
> Success. Distance: 0.53
> Sending event: albuminfo_received
> Candidate: Applied Artist MM - Applied Album MM (albumid MM)
> Computing track assignment...
> ...done.
> Success. Distance: 0.55
> Evaluating 2 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_choose_second_candidate (test_importer.ChooseCandidateTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmph0km064d/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist M - Applied Album M (albumid M)
> Computing track assignment...
> ...done.
> Success. Distance: 0.53
> Sending event: albuminfo_received
> Candidate: Applied Artist MM - Applied Album MM (albumid MM)
> Computing track assignment...
> ...done.
> Success. Distance: 0.55
> Evaluating 2 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_add_album_for_different_artist_and_different_album (test_importer.GlobalGroupAlbumsImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_created
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpvnxgobw1/testsrcdir/the_album/track_1.mp3
> Tagging Artist B - Album B
> No album ID found.
> Search terms: Artist B - Album B
> Album might be VA: False
> Evaluating 0 candidates.
> Sending event: import_task_start
> Looking up: /tmp/tmpvnxgobw1/testsrcdir/the_album/track_2.mp3; /tmp/tmpvnxgobw1/testsrcdir/the_album/track_3.mp3
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Evaluating 0 candidates.
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_choice
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_add_album_for_different_artist_and_same_albumartist (test_importer.GlobalGroupAlbumsImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_created
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpjusj409q/testsrcdir/the_album/track_1.mp3; /tmp/tmpjusj409q/testsrcdir/the_album/track_2.mp3
> Tagging Album Artist - Tag Album
> No album ID found.
> Search terms: Album Artist - Tag Album
> Album might be VA: True
> Evaluating 0 candidates.
> Sending event: import_task_start
> Looking up: /tmp/tmpjusj409q/testsrcdir/the_album/track_3.mp3
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Evaluating 0 candidates.
> Sending event: import_task_choice
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_add_album_for_same_album_and_different_artist (test_importer.GlobalGroupAlbumsImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_created
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp3q8dr3px/testsrcdir/the_album/track_1.mp3
> Tagging Artist B - Tag Album
> No album ID found.
> Search terms: Artist B - Tag Album
> Album might be VA: False
> Evaluating 0 candidates.
> Sending event: import_task_start
> Looking up: /tmp/tmp3q8dr3px/testsrcdir/the_album/track_2.mp3; /tmp/tmp3q8dr3px/testsrcdir/the_album/track_3.mp3
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Evaluating 0 candidates.
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_choice
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_add_album_for_same_artist_and_different_album (test_importer.GlobalGroupAlbumsImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_created
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp5ajzpa9h/testsrcdir/the_album/track_1.mp3
> Tagging Tag Artist - Album B
> No album ID found.
> Search terms: Tag Artist - Album B
> Album might be VA: False
> Evaluating 0 candidates.
> Sending event: import_task_start
> Looking up: /tmp/tmp5ajzpa9h/testsrcdir/the_album/track_2.mp3; /tmp/tmp5ajzpa9h/testsrcdir/the_album/track_3.mp3
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Evaluating 0 candidates.
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_choice
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_incremental (test_importer.GlobalGroupAlbumsImportTest) ... Sending event: import_begin
> state file could not be read: [Errno 2] No such file or directory: '/tmp/tmp5h59q_gd/state.pickle'
> Sending event: import_task_created
> Sending event: import_task_created
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp5h59q_gd/testsrcdir/the_album/track_1.mp3
> Tagging Tag Artist - Album B
> No album ID found.
> Search terms: Tag Artist - Album B
> Album might be VA: False
> Evaluating 0 candidates.
> Sending event: import_task_start
> Looking up: /tmp/tmp5h59q_gd/testsrcdir/the_album/track_2.mp3; /tmp/tmp5h59q_gd/testsrcdir/the_album/track_3.mp3
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Evaluating 0 candidates.
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_choice
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> state file could not be read: [Errno 2] No such file or directory: '/tmp/tmp5h59q_gd/state.pickle'
> Sending event: album_imported
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_add_album_for_different_artist_and_different_album (test_importer.GroupAlbumsImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpsxiosigc/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: True
> Evaluating 0 candidates.
> Sending event: import_task_choice
> Sending event: import_task_created
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpsxiosigc/testsrcdir/the_album/track_1.mp3
> Tagging Artist B - Album B
> No album ID found.
> Search terms: Artist B - Album B
> Album might be VA: False
> Evaluating 0 candidates.
> Sending event: import_task_start
> Looking up: /tmp/tmpsxiosigc/testsrcdir/the_album/track_2.mp3; /tmp/tmpsxiosigc/testsrcdir/the_album/track_3.mp3
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Evaluating 0 candidates.
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_choice
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_add_album_for_different_artist_and_same_albumartist (test_importer.GroupAlbumsImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpwhfpfccx/testsrcdir/the_album
> Tagging Artist B - Tag Album
> No album ID found.
> Search terms: Artist B - Tag Album
> Album might be VA: True
> Evaluating 0 candidates.
> Sending event: import_task_choice
> Sending event: import_task_created
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpwhfpfccx/testsrcdir/the_album/track_1.mp3; /tmp/tmpwhfpfccx/testsrcdir/the_album/track_2.mp3
> Tagging Album Artist - Tag Album
> No album ID found.
> Search terms: Album Artist - Tag Album
> Album might be VA: True
> Evaluating 0 candidates.
> Sending event: import_task_start
> Looking up: /tmp/tmpwhfpfccx/testsrcdir/the_album/track_3.mp3
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Evaluating 0 candidates.
> Sending event: import_task_choice
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_add_album_for_same_album_and_different_artist (test_importer.GroupAlbumsImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpc971pazc/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: True
> Evaluating 0 candidates.
> Sending event: import_task_choice
> Sending event: import_task_created
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpc971pazc/testsrcdir/the_album/track_1.mp3
> Tagging Artist B - Tag Album
> No album ID found.
> Search terms: Artist B - Tag Album
> Album might be VA: False
> Evaluating 0 candidates.
> Sending event: import_task_start
> Looking up: /tmp/tmpc971pazc/testsrcdir/the_album/track_2.mp3; /tmp/tmpc971pazc/testsrcdir/the_album/track_3.mp3
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Evaluating 0 candidates.
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_choice
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_add_album_for_same_artist_and_different_album (test_importer.GroupAlbumsImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpumiry1po/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Evaluating 0 candidates.
> Sending event: import_task_choice
> Sending event: import_task_created
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpumiry1po/testsrcdir/the_album/track_1.mp3
> Tagging Tag Artist - Album B
> No album ID found.
> Search terms: Tag Artist - Album B
> Album might be VA: False
> Evaluating 0 candidates.
> Sending event: import_task_start
> Looking up: /tmp/tmpumiry1po/testsrcdir/the_album/track_2.mp3; /tmp/tmpumiry1po/testsrcdir/the_album/track_3.mp3
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Evaluating 0 candidates.
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_choice
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_incremental (test_importer.GroupAlbumsImportTest) ... Sending event: import_begin
> state file could not be read: [Errno 2] No such file or directory: '/tmp/tmpnlkiqob7/state.pickle'
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpnlkiqob7/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Evaluating 0 candidates.
> Sending event: import_task_choice
> Sending event: import_task_created
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpnlkiqob7/testsrcdir/the_album/track_1.mp3
> Tagging Tag Artist - Album B
> No album ID found.
> Search terms: Tag Artist - Album B
> Album might be VA: False
> Evaluating 0 candidates.
> Sending event: import_task_start
> Looking up: /tmp/tmpnlkiqob7/testsrcdir/the_album/track_2.mp3; /tmp/tmpnlkiqob7/testsrcdir/the_album/track_3.mp3
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Evaluating 0 candidates.
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_choice
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> state file could not be read: [Errno 2] No such file or directory: '/tmp/tmpnlkiqob7/state.pickle'
> Sending event: album_imported
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_asis_albumartist_tag_sets_albumartist (test_importer.ImportCompilationTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp4tqsrop9/testsrcdir/the_album
> Tagging Album Artist - Tag Album
> No album ID found.
> Search terms: Album Artist - Tag Album
> Album might be VA: True
> Sending event: albuminfo_received
> Candidate: Album Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.31
> Sending event: albuminfo_received
> Candidate: Various Artists - Applied Album (albumid)
> Duplicate.
> Evaluating 1 candidates.
> Sending event: import_task_choice
> 0 of 3 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_asis_heterogenous_sets_sompilation (test_importer.ImportCompilationTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp0rbi6azd/testsrcdir/the_album
> Tagging Other Artist - Tag Album
> No album ID found.
> Search terms: Other Artist - Tag Album
> Album might be VA: True
> Sending event: albuminfo_received
> Candidate: Other Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.31
> Sending event: albuminfo_received
> Candidate: Various Artists - Applied Album (albumid)
> Duplicate.
> Evaluating 1 candidates.
> Sending event: import_task_choice
> 0 of 3 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_asis_heterogenous_sets_various_albumartist (test_importer.ImportCompilationTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpp2hgjrk5/testsrcdir/the_album
> Tagging Other Artist - Tag Album
> No album ID found.
> Search terms: Other Artist - Tag Album
> Album might be VA: True
> Sending event: albuminfo_received
> Candidate: Other Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.31
> Sending event: albuminfo_received
> Candidate: Various Artists - Applied Album (albumid)
> Duplicate.
> Evaluating 1 candidates.
> Sending event: import_task_choice
> 0 of 3 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_asis_homogenous_sets_albumartist (test_importer.ImportCompilationTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp4qzo_d1o/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.44
> Evaluating 1 candidates.
> Sending event: import_task_choice
> 0 of 3 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_asis_sets_majority_albumartist (test_importer.ImportCompilationTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp5hierbe6/testsrcdir/the_album
> Tagging Other Artist - Tag Album
> No album ID found.
> Search terms: Other Artist - Tag Album
> Album might be VA: True
> Sending event: albuminfo_received
> Candidate: Other Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.31
> Sending event: albuminfo_received
> Candidate: Various Artists - Applied Album (albumid)
> Duplicate.
> Evaluating 1 candidates.
> Sending event: import_task_choice
> 0 of 3 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_keep_duplicate_album (test_importer.ImportDuplicateAlbumTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpt825ciqi/import/album 0
> Tagging album artist - album 0
> No album ID found.
> Search terms: album artist - album 0
> Album might be VA: True
> Sending event: albuminfo_received
> Candidate: artist - album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.48
> Sending event: albuminfo_received
> Candidate: artist - album (albumid)
> Duplicate.
> Evaluating 1 candidates.
> Sending event: import_task_choice
> found duplicates: [1]
> default action for duplicates: a
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_merge_duplicate_album (test_importer.ImportDuplicateAlbumTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpj3zjacx_/import/album 0
> Tagging album artist - album 0
> No album ID found.
> Search terms: album artist - album 0
> Album might be VA: True
> Sending event: albuminfo_received
> Candidate: artist - album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.48
> Sending event: albuminfo_received
> Candidate: artist - album (albumid)
> Duplicate.
> Evaluating 1 candidates.
> Sending event: import_task_choice
> found duplicates: [1]
> default action for duplicates: a
> Sending event: import_task_start
> Looking up: /tmp/tmpj3zjacx_/import/album 0; /tmp/tmpj3zjacx_/libdir/the artist/älbum/02 tïtle 0.mp3
> Tagging artist - album 0
> Searching for discovered album ID: 9e873859-8aa4-4790-b985-5a953e8ef628
> Requesting MusicBrainz release 9e873859-8aa4-4790-b985-5a953e8ef628
> Traceback (most recent call last):
>   File "/usr/lib/python3.8/urllib/request.py", line 1350, in do_open
>     h.request(req.get_method(), req.selector, req.data, headers,
>   File "/usr/lib/python3.8/http/client.py", line 1255, in request
>     self._send_request(method, url, body, headers, encode_chunked)
>   File "/usr/lib/python3.8/http/client.py", line 1301, in _send_request
>     self.endheaders(body, encode_chunked=encode_chunked)
>   File "/usr/lib/python3.8/http/client.py", line 1250, in endheaders
>     self._send_output(message_body, encode_chunked=encode_chunked)
>   File "/usr/lib/python3.8/http/client.py", line 1010, in _send_output
>     self.send(msg)
>   File "/usr/lib/python3.8/http/client.py", line 950, in send
>     self.connect()
>   File "/usr/lib/python3.8/http/client.py", line 921, in connect
>     self.sock = self._create_connection(
>   File "/usr/lib/python3.8/socket.py", line 808, in create_connection
>     raise err
>   File "/usr/lib/python3.8/socket.py", line 796, in create_connection
>     sock.connect(sa)
> ConnectionRefusedError: [Errno 111] Connection refused
> 
> During handling of the above exception, another exception occurred:
> 
> Traceback (most recent call last):
>   File "/usr/lib/python3/dist-packages/musicbrainzngs/musicbrainz.py", line 497, in _safe_read
>     f = opener.open(req)
>   File "/usr/lib/python3.8/urllib/request.py", line 525, in open
>     response = self._open(req, data)
>   File "/usr/lib/python3.8/urllib/request.py", line 542, in _open
>     result = self._call_chain(self.handle_open, protocol, protocol +
>   File "/usr/lib/python3.8/urllib/request.py", line 502, in _call_chain
>     result = func(*args)
>   File "/usr/lib/python3.8/urllib/request.py", line 1379, in http_open
>     return self.do_open(http.client.HTTPConnection, req)
>   File "/usr/lib/python3.8/urllib/request.py", line 1353, in do_open
>     raise URLError(err)
> urllib.error.URLError: <urlopen error [Errno 111] Connection refused>
> 
> During handling of the above exception, another exception occurred:
> 
> Traceback (most recent call last):
>   File "../beets/autotag/mb.py", line 489, in album_for_id
>     res = musicbrainzngs.get_release_by_id(albumid,
>   File "/usr/lib/python3/dist-packages/musicbrainzngs/musicbrainz.py", line 879, in get_release_by_id
>     return _do_mb_query("release", id, includes, params)
>   File "/usr/lib/python3/dist-packages/musicbrainzngs/musicbrainz.py", line 728, in _do_mb_query
>     return _mb_request(path, 'GET', auth_required, args=args)
>   File "/usr/lib/python3/dist-packages/musicbrainzngs/musicbrainz.py", line 417, in __call__
>     return self.fun(*args, **kwargs)
>   File "/usr/lib/python3/dist-packages/musicbrainzngs/musicbrainz.py", line 690, in _mb_request
>     resp = _safe_read(opener, req, body)
>   File "/usr/lib/python3/dist-packages/musicbrainzngs/musicbrainz.py", line 525, in _safe_read
>     raise NetworkError(cause=exc)
> musicbrainzngs.musicbrainz.NetworkError: caused by: <urlopen error [Errno 111] Connection refused>
> 
> Error: MusicBrainz not reachable in get release by ID with query '9e873859-8aa4-4790-b985-5a953e8ef628'
> Search terms: artist - album 0
> Album might be VA: True
> Sending event: albuminfo_received
> Candidate: artist - album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.32
> Sending event: albuminfo_received
> Candidate: artist - album (albumid)
> Duplicate.
> Evaluating 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> Replacing item 1: /tmp/tmpj3zjacx_/libdir/the artist/älbum/02 tïtle 0.mp3
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> 1 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Reimported album: added 1596388976.4178555, flexible attributes [] from album 1 for /tmp/tmpj3zjacx_/libdir/the artist/älbum
> Reimported item added 1596388976.4160156 from item 1 for /tmp/tmpj3zjacx_/libdir/the artist/älbum/02 tïtle 0.mp3
> Reimported item flexible attributes [] from item 1 for /tmp/tmpj3zjacx_/libdir/the artist/älbum/02 tïtle 0.mp3
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_no_autotag_keeps_duplicate_album (test_importer.ImportDuplicateAlbumTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_begin
> Sending event: import_task_created
> /tmp/tmpjja_kmo6/import/album 0
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_remove_duplicate_album (test_importer.ImportDuplicateAlbumTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpl5epaoh4/import/album 0
> Tagging album artist - album 0
> No album ID found.
> Search terms: album artist - album 0
> Album might be VA: True
> Sending event: albuminfo_received
> Candidate: artist - album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.48
> Sending event: albuminfo_received
> Candidate: artist - album (albumid)
> Duplicate.
> Evaluating 1 candidates.
> Sending event: import_task_choice
> found duplicates: [1]
> default action for duplicates: a
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> removing 1 old duplicated items
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> deleting duplicate /tmp/tmpl5epaoh4/libdir/the artist/älbum/02 tïtle 0.mp3
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_skip_duplicate_album (test_importer.ImportDuplicateAlbumTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpp7xyoqfo/import/album 0
> Tagging album artist - album 0
> No album ID found.
> Search terms: album artist - album 0
> Album might be VA: True
> Sending event: albuminfo_received
> Candidate: artist - album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.48
> Sending event: albuminfo_received
> Candidate: artist - album (albumid)
> Duplicate.
> Evaluating 1 candidates.
> Sending event: import_task_choice
> found duplicates: [1]
> default action for duplicates: a
> ok
> test_twice_in_import_dir (test_importer.ImportDuplicateAlbumTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> skipped 'write me'
> test_keep_duplicate (test_importer.ImportDuplicateSingletonTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpzy8rnwrd/import/album 0/track 0.mp3
> Item search terms: artist - track 0
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: import_task_choice
> found duplicates: [1]
> default action for duplicates: a
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> ok
> test_remove_duplicate (test_importer.ImportDuplicateSingletonTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmprdog6n19/import/album 0/track 0.mp3
> Item search terms: artist - track 0
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: import_task_choice
> found duplicates: [1]
> default action for duplicates: a
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> removing 1 old duplicated items
> Sending event: database_change
> Sending event: item_removed
> deleting duplicate /tmp/tmprdog6n19/libdir/the artist/älbum 0/02 tïtle 0.mp3
> Sending event: item_copied
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> ok
> test_skip_duplicate (test_importer.ImportDuplicateSingletonTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpgtk9eyv3/import/album 0/track 0.mp3
> Item search terms: artist - track 0
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: import_task_choice
> found duplicates: [1]
> default action for duplicates: a
> ok
> test_twice_in_import_dir (test_importer.ImportDuplicateSingletonTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> skipped 'write me'
> test_asis_updated_moves_file (test_importer.ImportExistingTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpbvbvkjym/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpbvbvkjym/libdir/Applied Artist/Applied Album
> Tagging Applied Artist - Applied Album
> Searching for discovered album ID: albumid
> Search terms: Applied Artist - Applied Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.02
> Evaluating 1 candidates.
> Sending event: import_task_choice
> Replacing item 1: /tmp/tmpbvbvkjym/libdir/Applied Artist/Applied Album/Applied Title 1.mp3
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> 1 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Reimported album: added 1596388976.7706604, flexible attributes [] from album 1 for /tmp/tmpbvbvkjym/libdir/Applied Artist/Applied Album
> Reimported item added 1596388976.7715235 from item 1 for /tmp/tmpbvbvkjym/libdir/Applied Artist/Applied Album/Applied Title 1.mp3
> Reimported item flexible attributes [] from item 1 for /tmp/tmpbvbvkjym/libdir/Applied Artist/Applied Album/Applied Title 1.mp3
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_asis_updated_without_copy_does_not_move_file (test_importer.ImportExistingTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp0pa6bbwc/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp0pa6bbwc/libdir/Applied Artist/Applied Album
> Tagging Applied Artist - Applied Album
> Searching for discovered album ID: albumid
> Search terms: Applied Artist - Applied Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.02
> Evaluating 1 candidates.
> Sending event: import_task_choice
> Replacing item 1: /tmp/tmp0pa6bbwc/libdir/Applied Artist/Applied Album/Applied Title 1.mp3
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> 1 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Reimported album: added 1596388976.82219, flexible attributes [] from album 1 for /tmp/tmp0pa6bbwc/libdir/Applied Artist/Applied Album
> Reimported item added 1596388976.8230553 from item 1 for /tmp/tmp0pa6bbwc/libdir/Applied Artist/Applied Album/Applied Title 1.mp3
> Reimported item flexible attributes [] from item 1 for /tmp/tmp0pa6bbwc/libdir/Applied Artist/Applied Album/Applied Title 1.mp3
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_asis_updates_metadata (test_importer.ImportExistingTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp0jep8cjn/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp0jep8cjn/libdir/Applied Artist/Applied Album
> Tagging Applied Artist - Applied Album
> Searching for discovered album ID: albumid
> Search terms: Applied Artist - Applied Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.02
> Evaluating 1 candidates.
> Sending event: import_task_choice
> Replacing item 1: /tmp/tmp0jep8cjn/libdir/Applied Artist/Applied Album/Applied Title 1.mp3
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> 1 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Reimported album: added 1596388976.8722773, flexible attributes [] from album 1 for /tmp/tmp0jep8cjn/libdir/Applied Artist/Applied Album
> Reimported item added 1596388976.8731282 from item 1 for /tmp/tmp0jep8cjn/libdir/Applied Artist/Applied Album/Applied Title 1.mp3
> Reimported item flexible attributes [] from item 1 for /tmp/tmp0jep8cjn/libdir/Applied Artist/Applied Album/Applied Title 1.mp3
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_does_not_duplicate_album (test_importer.ImportExistingTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp0hjub_du/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp0hjub_du/libdir/Applied Artist/Applied Album
> Tagging Applied Artist - Applied Album
> Searching for discovered album ID: albumid
> Search terms: Applied Artist - Applied Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.00
> Evaluating 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> Replacing item 1: /tmp/tmp0hjub_du/libdir/Applied Artist/Applied Album/Applied Title 1.mp3
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> 1 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Reimported album: added 1596388976.92369, flexible attributes [] from album 1 for /tmp/tmp0hjub_du/libdir/Applied Artist/Applied Album
> Reimported item added 1596388976.9245584 from item 1 for /tmp/tmp0hjub_du/libdir/Applied Artist/Applied Album/Applied Title 1.mp3
> Reimported item flexible attributes [] from item 1 for /tmp/tmp0hjub_du/libdir/Applied Artist/Applied Album/Applied Title 1.mp3
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_does_not_duplicate_item (test_importer.ImportExistingTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp2f31vi4d/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp2f31vi4d/libdir/Applied Artist/Applied Album
> Tagging Applied Artist - Applied Album
> Searching for discovered album ID: albumid
> Search terms: Applied Artist - Applied Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.00
> Evaluating 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> Replacing item 1: /tmp/tmp2f31vi4d/libdir/Applied Artist/Applied Album/Applied Title 1.mp3
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> 1 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Reimported album: added 1596388976.9771779, flexible attributes [] from album 1 for /tmp/tmp2f31vi4d/libdir/Applied Artist/Applied Album
> Reimported item added 1596388976.9780226 from item 1 for /tmp/tmp2f31vi4d/libdir/Applied Artist/Applied Album/Applied Title 1.mp3
> Reimported item flexible attributes [] from item 1 for /tmp/tmp2f31vi4d/libdir/Applied Artist/Applied Album/Applied Title 1.mp3
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_does_not_duplicate_singleton_track (test_importer.ImportExistingTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmph88pr7fe/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmph88pr7fe/testsrcdir/the_album/track_1.mp3
> Item search terms: Tag Artist - Tag Title 1
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmph88pr7fe/libdir/singletons
> Tagging Applied Artist - Tag Album
> No album ID found.
> Search terms: Applied Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.34
> Evaluating 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmph88pr7fe/libdir/singletons/Applied Title 1.mp3
> Searching for track ID: trackid
> Item search terms: Applied Artist - Applied Title 1
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> Replacing item 1: /tmp/tmph88pr7fe/libdir/singletons/Applied Title 1.mp3
> Sending event: database_change
> Sending event: item_removed
> 1 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Reimported item added 1596388977.0306718 from item 1 for /tmp/tmph88pr7fe/libdir/singletons/Applied Title 1.mp3
> Reimported item flexible attributes [] from item 1 for /tmp/tmph88pr7fe/libdir/singletons/Applied Title 1.mp3
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> ok
> test_outside_file_is_copied (test_importer.ImportExistingTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp_nn6_9ma/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp_nn6_9ma/testsrcdir/the_album
> Tagging Applied Artist - Applied Album
> Searching for discovered album ID: albumid
> Search terms: Applied Artist - Applied Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.00
> Evaluating 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> Replacing item 1: /tmp/tmp_nn6_9ma/testsrcdir/the_album/track_1.mp3
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> 1 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Reimported album: added 1596388977.0795221, flexible attributes [] from album 1 for /tmp/tmp_nn6_9ma/testsrcdir/the_album
> Reimported item added 1596388977.080383 from item 1 for /tmp/tmp_nn6_9ma/testsrcdir/the_album/track_1.mp3
> Reimported item flexible attributes [] from item 1 for /tmp/tmp_nn6_9ma/testsrcdir/the_album/track_1.mp3
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_outside_file_is_moved (test_importer.ImportExistingTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp9g8hv5pu/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp9g8hv5pu/testsrcdir/the_album
> Tagging Applied Artist - Applied Album
> Searching for discovered album ID: albumid
> Search terms: Applied Artist - Applied Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.00
> Evaluating 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> Replacing item 1: /tmp/tmp9g8hv5pu/testsrcdir/the_album/track_1.mp3
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> 1 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Reimported album: added 1596388977.1336005, flexible attributes [] from album 1 for /tmp/tmp9g8hv5pu/testsrcdir/the_album
> Reimported item added 1596388977.1345017 from item 1 for /tmp/tmp9g8hv5pu/testsrcdir/the_album/track_1.mp3
> Reimported item flexible attributes [] from item 1 for /tmp/tmp9g8hv5pu/testsrcdir/the_album/track_1.mp3
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_candidates_album (test_importer.ImportMusicBrainzIdTest)
> Test directly ImportTask.lookup_candidates(). ... Tagging the album artist - the album
> Searching for album ID: https://musicbrainz.org/release/00000000-0000-0000-0000-000000000000
> Requesting MusicBrainz release https://musicbrainz.org/release/00000000-0000-0000-0000-000000000000
> Sending event: albuminfo_received
> Candidate: TAG ARTIST - VALID_RELEASE_0 (00000000-0000-0000-0000-000000000000)
> Computing track assignment...
> ...done.
> Success. Distance: 0.89
> Searching for album ID: https://musicbrainz.org/release/11111111-1111-1111-1111-111111111111
> Requesting MusicBrainz release https://musicbrainz.org/release/11111111-1111-1111-1111-111111111111
> Sending event: albuminfo_received
> Candidate: DISTANT_MATCH - VALID_RELEASE_1 (11111111-1111-1111-1111-111111111111)
> Computing track assignment...
> ...done.
> Success. Distance: 0.94
> Searching for album ID: an invalid and discarded id
> Requesting MusicBrainz release an invalid and discarded id
> Invalid MBID (an invalid and discarded id).
> Evaluating 2 candidates.
> ok
> test_candidates_singleton (test_importer.ImportMusicBrainzIdTest)
> Test directly SingletonImportTask.lookup_candidates(). ... Searching for track ID: https://musicbrainz.org/recording/aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
> Sending event: trackinfo_received
> Searching for track ID: https://musicbrainz.org/recording/bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb
> Sending event: trackinfo_received
> Searching for track ID: an invalid and discarded id
> Invalid MBID (an invalid and discarded id).
> ok
> test_one_mbid_one_album (test_importer.ImportMusicBrainzIdTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpvnbmqi8x/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> Searching for album ID: https://musicbrainz.org/release/00000000-0000-0000-0000-000000000000
> Requesting MusicBrainz release https://musicbrainz.org/release/00000000-0000-0000-0000-000000000000
> Sending event: albuminfo_received
> Candidate: TAG ARTIST - VALID_RELEASE_0 (00000000-0000-0000-0000-000000000000)
> Computing track assignment...
> ...done.
> Success. Distance: 0.63
> Evaluating 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_one_mbid_one_singleton (test_importer.ImportMusicBrainzIdTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpd61w2gw6/testsrcdir/the_album/track_1.mp3
> Searching for track ID: https://musicbrainz.org/recording/aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
> Sending event: trackinfo_received
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> ok
> test_several_mbid_one_album (test_importer.ImportMusicBrainzIdTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpervks_td/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> Searching for album ID: https://musicbrainz.org/release/00000000-0000-0000-0000-000000000000
> Requesting MusicBrainz release https://musicbrainz.org/release/00000000-0000-0000-0000-000000000000
> Sending event: albuminfo_received
> Candidate: TAG ARTIST - VALID_RELEASE_0 (00000000-0000-0000-0000-000000000000)
> Computing track assignment...
> ...done.
> Success. Distance: 0.63
> Searching for album ID: https://musicbrainz.org/release/11111111-1111-1111-1111-111111111111
> Requesting MusicBrainz release https://musicbrainz.org/release/11111111-1111-1111-1111-111111111111
> Sending event: albuminfo_received
> Candidate: DISTANT_MATCH - VALID_RELEASE_1 (11111111-1111-1111-1111-111111111111)
> Computing track assignment...
> ...done.
> Success. Distance: 0.82
> Evaluating 2 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_several_mbid_one_singleton (test_importer.ImportMusicBrainzIdTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpcvlo67a8/testsrcdir/the_album/track_1.mp3
> Searching for track ID: https://musicbrainz.org/recording/aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
> Sending event: trackinfo_received
> Searching for track ID: https://musicbrainz.org/recording/bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb
> Sending event: trackinfo_received
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> ok
> test_import_zip (test_importer.ImportPasswordRarTest) ... skipped 'Implement me!'
> test_import_album_pretend (test_importer.ImportPretendTest) ... Sending event: import_begin
> Sending event: import_task_created
> Album: /tmp/tmpnz7rwsmy/testsrcdir/the_album
>   /tmp/tmpnz7rwsmy/testsrcdir/the_album/track_1.mp3
> Sending event: import_task_created
> Album: /tmp/tmpnz7rwsmy/testsrcdir/track_2.mp3
>   /tmp/tmpnz7rwsmy/testsrcdir/track_2.mp3
> ok
> test_import_pretend_empty (test_importer.ImportPretendTest) ... Sending event: import_begin
> No files imported from /tmp/tmpmcxum55h/empty
> ok
> test_import_singletons_pretend (test_importer.ImportPretendTest) ... Sending event: import_begin
> Sending event: import_task_created
> Singleton: /tmp/tmp_guqkxep/testsrcdir/the_album/track_1.mp3
> Sending event: import_task_created
> Singleton: /tmp/tmp_guqkxep/testsrcdir/track_2.mp3
> ok
> test_import_zip (test_importer.ImportRarTest) ... skipped 'unrar program not found'
> test_apply_asis_adds_singleton_path (test_importer.ImportSingletonTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpym5oyhcc/testsrcdir/the_album/track_1.mp3
> Item search terms: Tag Artist - Tag Title 1
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> ok
> test_apply_asis_adds_track (test_importer.ImportSingletonTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpv6ibcyj6/testsrcdir/the_album/track_1.mp3
> Item search terms: Tag Artist - Tag Title 1
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> ok
> test_apply_asis_does_not_add_album (test_importer.ImportSingletonTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpu2k3q8c6/testsrcdir/the_album/track_1.mp3
> Item search terms: Tag Artist - Tag Title 1
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> ok
> test_apply_candidate_adds_singleton_path (test_importer.ImportSingletonTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpydy7yuqp/testsrcdir/the_album/track_1.mp3
> Item search terms: Tag Artist - Tag Title 1
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> ok
> test_apply_candidate_adds_track (test_importer.ImportSingletonTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpi34b8bdc/testsrcdir/the_album/track_1.mp3
> Item search terms: Tag Artist - Tag Title 1
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> ok
> test_apply_candidate_does_not_add_album (test_importer.ImportSingletonTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpdfdy296e/testsrcdir/the_album/track_1.mp3
> Item search terms: Tag Artist - Tag Title 1
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> ok
> test_import_single_files (test_importer.ImportSingletonTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpaxr_7f0x/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpaxr_7f0x/testsrcdir/track_2.mp3
> Tagging  - 
> No album ID found.
> Search terms:  - 
> Album might be VA: True
> Evaluating 0 candidates.
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_set_fields (test_importer.ImportSingletonTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpwrxq9m66/testsrcdir/the_album/track_1.mp3
> Item search terms: Tag Artist - Tag Title 1
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Set field collection=To Listen for /tmp/tmpwrxq9m66/testsrcdir/the_album/track_1.mp3
> Set field genre=🎷 Jazz for /tmp/tmpwrxq9m66/testsrcdir/the_album/track_1.mp3
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> Sending event: database_change
> Sending event: item_removed
> Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpwrxq9m66/testsrcdir/the_album/track_1.mp3
> Item search terms: Tag Artist - Tag Title 1
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Set field collection=To Listen for /tmp/tmpwrxq9m66/testsrcdir/the_album/track_1.mp3
> Set field genre=🎷 Jazz for /tmp/tmpwrxq9m66/testsrcdir/the_album/track_1.mp3
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> ok
> test_skip_adds_other_tracks (test_importer.ImportSingletonTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpfft30_v6/testsrcdir/the_album/track_1.mp3
> Item search terms: Tag Artist - Tag Title 1
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpfft30_v6/testsrcdir/the_album/track_2.mp3
> Item search terms: Tag Artist - Tag Title 2
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> ok
> test_skip_does_not_add_first_track (test_importer.ImportSingletonTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpcvyf4fuw/testsrcdir/the_album/track_1.mp3
> Item search terms: Tag Artist - Tag Title 1
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: import_task_choice
> ok
> test_import_zip (test_importer.ImportTarTest) ... Sending event: import_begin
> Extracting archive: /tmp/tmpnv7qhqr_/tmp6ssvosw4
> Archive extracted to: /tmp/tmplbzleh0w
> Sending event: import_task_created
> /tmp/tmplbzleh0w
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Removing extracted directory: /tmp/tmplbzleh0w
> ok
> test_apply_asis_adds_album (test_importer.ImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmplbn51ti9/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_apply_asis_adds_album_path (test_importer.ImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpiwd7ja4t/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_apply_asis_adds_tracks (test_importer.ImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp8cvstrgs/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_apply_candidate_adds_album (test_importer.ImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp3pscg98w/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_apply_candidate_adds_album_path (test_importer.ImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpsd9mln7u/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_apply_candidate_adds_tracks (test_importer.ImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpkspfr0wu/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_apply_from_scratch_keeps_bitrate (test_importer.ImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp1jauaxhd/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_apply_from_scratch_keeps_format (test_importer.ImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmptrjj46up/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_apply_from_scratch_removes_other_metadata (test_importer.ImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp74rfh9u9/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_apply_with_delete_deletes_import (test_importer.ImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp3ozjos_u/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_apply_with_move_deletes_import (test_importer.ImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp__v0zwmo/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_asis_no_data_source (test_importer.ImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpxg746luv/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_empty_directory_singleton_warning (test_importer.ImportTest) ... Sending event: import_begin
> No files imported from /tmp/tmp_u64e1wf/empty
> ok
> test_empty_directory_warning (test_importer.ImportTest) ... Sending event: import_begin
> No files imported from /tmp/tmpmvg3shb7/empty
> ok
> test_set_fields (test_importer.ImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpaze9e6nb/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Set field collection=To Listen for /tmp/tmpaze9e6nb/testsrcdir/the_album
> Set field genre=🎷 Jazz for /tmp/tmpaze9e6nb/testsrcdir/the_album
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpaze9e6nb/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Set field collection=To Listen for /tmp/tmpaze9e6nb/testsrcdir/the_album
> Set field genre=🎷 Jazz for /tmp/tmpaze9e6nb/testsrcdir/the_album
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_skip_does_not_add_track (test_importer.ImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpbr66sotc/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: import_task_choice
> ok
> test_skip_non_album_dirs (test_importer.ImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpe58zoalq/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_unmatched_tracks_not_added (test_importer.ImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp52cjjn8m/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.54
> Evaluating 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_apply_tracks_adds_singleton_path (test_importer.ImportTracksTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpp3q0j6fr/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpp3q0j6fr/testsrcdir/the_album/track_1.mp3
> Item search terms: Tag Artist - Tag Title 1
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> ok
> test_apply_tracks_adds_singleton_track (test_importer.ImportTracksTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp6eaquw09/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp6eaquw09/testsrcdir/the_album/track_1.mp3
> Item search terms: Tag Artist - Tag Title 1
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> ok
> test_import_zip (test_importer.ImportZipTest) ... Sending event: import_begin
> Extracting archive: /tmp/tmpqv7vz919/tmp9dj01d6x
> Archive extracted to: /tmp/tmpqim46ucq
> Sending event: import_task_created
> /tmp/tmpqim46ucq
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Removing extracted directory: /tmp/tmpqim46ucq
> ok
> test_incremental_album (test_importer.IncrementalImportTest) ... Sending event: import_begin
> state file could not be read: [Errno 2] No such file or directory: '/tmp/tmp8jiyxwrp/state.pickle'
> Sending event: import_task_created
> /tmp/tmp8jiyxwrp/import/album 0
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> state file could not be read: [Errno 2] No such file or directory: '/tmp/tmp8jiyxwrp/state.pickle'
> Sending event: album_imported
> Sending event: database_change
> Sending event: database_change
> Sending event: import_begin
> Skipping previously-imported path: /tmp/tmp8jiyxwrp/import/album 0
> Sending event: import_task_created
> /tmp/tmp8jiyxwrp/import/album 1
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Skipped 1 paths.
> ok
> test_incremental_item (test_importer.IncrementalImportTest) ... Sending event: import_begin
> state file could not be read: [Errno 2] No such file or directory: '/tmp/tmpci_85j6f/state.pickle'
> Sending event: import_task_created
> /tmp/tmpci_85j6f/import/album 0/track 0.mp3
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> state file could not be read: [Errno 2] No such file or directory: '/tmp/tmpci_85j6f/state.pickle'
> Sending event: item_imported
> Sending event: database_change
> Sending event: import_begin
> Skipping previously-imported path: /tmp/tmpci_85j6f/import/album 0/track 0.mp3
> Sending event: import_task_created
> /tmp/tmpci_85j6f/import/album 1/track 0.mp3
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> Skipped 1 paths.
> ok
> test_invalid_state_file (test_importer.IncrementalImportTest) ... Sending event: import_begin
> state file could not be read: unpickling stack underflow
> Sending event: import_task_created
> /tmp/tmpc_g1bic1/import/album 0
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> state file could not be read: unpickling stack underflow
> Sending event: album_imported
> ok
> test_apply_gets_artist_and_id (test_importer.InferAlbumDataTest) ... ok
> test_apply_lets_album_values_override (test_importer.InferAlbumDataTest) ... ok
> test_asis_comp_applied_to_all_items (test_importer.InferAlbumDataTest) ... ok
> test_asis_heterogenous_va (test_importer.InferAlbumDataTest) ... ok
> test_asis_homogenous_single_artist (test_importer.InferAlbumDataTest) ... ok
> test_asis_majority_artist_single_artist (test_importer.InferAlbumDataTest) ... ok
> test_asis_track_albumartist_override (test_importer.InferAlbumDataTest) ... ok
> test_small_single_artist_album (test_importer.InferAlbumDataTest) ... ok
> test_coalesce_flattened_album_case_typo (test_importer.MultiDiscAlbumsInDirTest) ... ok
> test_coalesce_multiple_unicode (test_importer.MultiDiscAlbumsInDirTest) ... ok
> test_coalesce_nested_album_multiple_subdirs (test_importer.MultiDiscAlbumsInDirTest) ... ok
> test_coalesce_nested_album_single_subdir (test_importer.MultiDiscAlbumsInDirTest) ... ok
> test_do_not_yield_empty_album (test_importer.MultiDiscAlbumsInDirTest) ... ok
> test_single_disc_album (test_importer.MultiDiscAlbumsInDirTest) ... ok
> test_single_disc_unicode (test_importer.MultiDiscAlbumsInDirTest) ... ok
> test_album_created_with_track_artist (test_importer.NonAutotaggedImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> /tmp/tmpslocblk5/testsrcdir/the_album
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_import_copy_arrives (test_importer.NonAutotaggedImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> /tmp/tmpsiry5gzv/testsrcdir/the_album
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_import_hardlink_arrives (test_importer.NonAutotaggedImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> /tmp/tmpiwpm_612/testsrcdir/the_album
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_hardlinked
> Sending event: database_change
> Sending event: database_change
> Sending event: item_hardlinked
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_import_link_arrives (test_importer.NonAutotaggedImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> /tmp/tmp8_p5pql_/testsrcdir/the_album
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_linked
> Sending event: database_change
> Sending event: database_change
> Sending event: item_linked
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_import_with_delete_prunes_directory_empty (test_importer.NonAutotaggedImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> /tmp/tmpel3ei8qf/testsrcdir/the_album
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_import_with_delete_removes_files (test_importer.NonAutotaggedImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> /tmp/tmpbigdrsvk/testsrcdir/the_album
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_import_with_move_deletes_import_files (test_importer.NonAutotaggedImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> /tmp/tmp75n6nf3l/testsrcdir/the_album
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_import_with_move_prunes_directory_empty (test_importer.NonAutotaggedImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> /tmp/tmpamtxncyv/testsrcdir/the_album
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_import_with_move_prunes_with_extra_clutter (test_importer.NonAutotaggedImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> /tmp/tmprf7j_fle/testsrcdir/the_album
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_import_without_delete_retains_files (test_importer.NonAutotaggedImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> /tmp/tmpeeaywydc/testsrcdir/the_album
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_threaded_import_copy_arrives (test_importer.NonAutotaggedImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> /tmp/tmpfvp7h_ce/testsrcdir/the_album
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_threaded_import_move_arrives (test_importer.NonAutotaggedImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> /tmp/tmpkmzmde1d/testsrcdir/the_album
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_threaded_import_move_deletes_import (test_importer.NonAutotaggedImportTest) ... Sending event: import_begin
> Sending event: import_task_created
> /tmp/tmp4ynws3z_/testsrcdir/the_album
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_reimported_album_gets_new_metadata (test_importer.ReimportTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmplo0yd8uz/libdir/singletons
> Tagging the album artist - the album
> Searching for discovered album ID: 9e873859-8aa4-4790-b985-5a953e8ef628
> Search terms: the album artist - the album
> Album might be VA: True
> Sending event: albuminfo_received
> Candidate: the album artist - the album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Sending event: albuminfo_received
> Candidate: the album artist M - the album M (albumid M)
> Computing track assignment...
> ...done.
> Success. Distance: 0.54
> Sending event: albuminfo_received
> Candidate: Various Artists - the album (albumid)
> Duplicate.
> Sending event: albuminfo_received
> Candidate: Various Artists - the album M (albumid M)
> Duplicate.
> Evaluating 2 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> Replacing item 1: /tmp/tmplo0yd8uz/libdir/singletons/tïtle 0.mp3
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> 1 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Reimported album: added 4242.0, flexible attributes ['foo', 'foo'] from album 1 for /tmp/tmplo0yd8uz/libdir/singletons
> Reimported item added 4747.0 from item 1 for /tmp/tmplo0yd8uz/libdir/singletons/tïtle 0.mp3
> Reimported item flexible attributes ['baz', 'baz'] from item 1 for /tmp/tmplo0yd8uz/libdir/singletons/tïtle 0.mp3
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_reimported_album_preserves_added (test_importer.ReimportTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpon23jkoi/libdir/singletons
> Tagging the album artist - the album
> Searching for discovered album ID: 9e873859-8aa4-4790-b985-5a953e8ef628
> Search terms: the album artist - the album
> Album might be VA: True
> Sending event: albuminfo_received
> Candidate: the album artist - the album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Sending event: albuminfo_received
> Candidate: the album artist M - the album M (albumid M)
> Computing track assignment...
> ...done.
> Success. Distance: 0.54
> Sending event: albuminfo_received
> Candidate: Various Artists - the album (albumid)
> Duplicate.
> Sending event: albuminfo_received
> Candidate: Various Artists - the album M (albumid M)
> Duplicate.
> Evaluating 2 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> Replacing item 1: /tmp/tmpon23jkoi/libdir/singletons/tïtle 0.mp3
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> 1 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Reimported album: added 4242.0, flexible attributes ['foo', 'foo'] from album 1 for /tmp/tmpon23jkoi/libdir/singletons
> Reimported item added 4747.0 from item 1 for /tmp/tmpon23jkoi/libdir/singletons/tïtle 0.mp3
> Reimported item flexible attributes ['baz', 'baz'] from item 1 for /tmp/tmpon23jkoi/libdir/singletons/tïtle 0.mp3
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_reimported_album_preserves_flexattr (test_importer.ReimportTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp89zipr0z/libdir/singletons
> Tagging the album artist - the album
> Searching for discovered album ID: 9e873859-8aa4-4790-b985-5a953e8ef628
> Search terms: the album artist - the album
> Album might be VA: True
> Sending event: albuminfo_received
> Candidate: the album artist - the album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Sending event: albuminfo_received
> Candidate: the album artist M - the album M (albumid M)
> Computing track assignment...
> ...done.
> Success. Distance: 0.54
> Sending event: albuminfo_received
> Candidate: Various Artists - the album (albumid)
> Duplicate.
> Sending event: albuminfo_received
> Candidate: Various Artists - the album M (albumid M)
> Duplicate.
> Evaluating 2 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> Replacing item 1: /tmp/tmp89zipr0z/libdir/singletons/tïtle 0.mp3
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> 1 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Reimported album: added 4242.0, flexible attributes ['foo', 'foo'] from album 1 for /tmp/tmp89zipr0z/libdir/singletons
> Reimported item added 4747.0 from item 1 for /tmp/tmp89zipr0z/libdir/singletons/tïtle 0.mp3
> Reimported item flexible attributes ['baz', 'baz'] from item 1 for /tmp/tmp89zipr0z/libdir/singletons/tïtle 0.mp3
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_reimported_album_preserves_item_added (test_importer.ReimportTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpj_oay3pr/libdir/singletons
> Tagging the album artist - the album
> Searching for discovered album ID: 9e873859-8aa4-4790-b985-5a953e8ef628
> Search terms: the album artist - the album
> Album might be VA: True
> Sending event: albuminfo_received
> Candidate: the album artist - the album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Sending event: albuminfo_received
> Candidate: the album artist M - the album M (albumid M)
> Computing track assignment...
> ...done.
> Success. Distance: 0.54
> Sending event: albuminfo_received
> Candidate: Various Artists - the album (albumid)
> Duplicate.
> Sending event: albuminfo_received
> Candidate: Various Artists - the album M (albumid M)
> Duplicate.
> Evaluating 2 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> Replacing item 1: /tmp/tmpj_oay3pr/libdir/singletons/tïtle 0.mp3
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> 1 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Reimported album: added 4242.0, flexible attributes ['foo', 'foo'] from album 1 for /tmp/tmpj_oay3pr/libdir/singletons
> Reimported item added 4747.0 from item 1 for /tmp/tmpj_oay3pr/libdir/singletons/tïtle 0.mp3
> Reimported item flexible attributes ['baz', 'baz'] from item 1 for /tmp/tmpj_oay3pr/libdir/singletons/tïtle 0.mp3
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_reimported_album_preserves_item_flexattr (test_importer.ReimportTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmprym70w1i/libdir/singletons
> Tagging the album artist - the album
> Searching for discovered album ID: 9e873859-8aa4-4790-b985-5a953e8ef628
> Search terms: the album artist - the album
> Album might be VA: True
> Sending event: albuminfo_received
> Candidate: the album artist - the album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Sending event: albuminfo_received
> Candidate: the album artist M - the album M (albumid M)
> Computing track assignment...
> ...done.
> Success. Distance: 0.54
> Sending event: albuminfo_received
> Candidate: Various Artists - the album (albumid)
> Duplicate.
> Sending event: albuminfo_received
> Candidate: Various Artists - the album M (albumid M)
> Duplicate.
> Evaluating 2 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> Replacing item 1: /tmp/tmprym70w1i/libdir/singletons/tïtle 0.mp3
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> 1 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Reimported album: added 4242.0, flexible attributes ['foo', 'foo'] from album 1 for /tmp/tmprym70w1i/libdir/singletons
> Reimported item added 4747.0 from item 1 for /tmp/tmprym70w1i/libdir/singletons/tïtle 0.mp3
> Reimported item flexible attributes ['baz', 'baz'] from item 1 for /tmp/tmprym70w1i/libdir/singletons/tïtle 0.mp3
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_reimported_item_gets_new_metadata (test_importer.ReimportTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp9qs1i_6x/libdir/singletons/tïtle 0.mp3
> Searching for track ID: 8b882575-08a5-4452-a7a7-cbb8a1531f9e
> Item search terms: the artist - full
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> Replacing item 1: /tmp/tmp9qs1i_6x/libdir/singletons/tïtle 0.mp3
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> 1 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Reimported item added 4747.0 from item 1 for /tmp/tmp9qs1i_6x/libdir/singletons/tïtle 0.mp3
> Reimported item flexible attributes ['baz', 'baz'] from item 1 for /tmp/tmp9qs1i_6x/libdir/singletons/tïtle 0.mp3
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> ok
> test_reimported_item_preserves_added (test_importer.ReimportTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpmmgm2ho7/libdir/singletons/tïtle 0.mp3
> Searching for track ID: 8b882575-08a5-4452-a7a7-cbb8a1531f9e
> Item search terms: the artist - full
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> Replacing item 1: /tmp/tmpmmgm2ho7/libdir/singletons/tïtle 0.mp3
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> 1 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Reimported item added 4747.0 from item 1 for /tmp/tmpmmgm2ho7/libdir/singletons/tïtle 0.mp3
> Reimported item flexible attributes ['baz', 'baz'] from item 1 for /tmp/tmpmmgm2ho7/libdir/singletons/tïtle 0.mp3
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> ok
> test_reimported_item_preserves_art (test_importer.ReimportTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: art_set
> Sending event: database_change
> Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpy7k0h_gz/libdir/singletons
> Tagging the album artist - the album
> Searching for discovered album ID: 9e873859-8aa4-4790-b985-5a953e8ef628
> Search terms: the album artist - the album
> Album might be VA: True
> Sending event: albuminfo_received
> Candidate: the album artist - the album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Sending event: albuminfo_received
> Candidate: the album artist M - the album M (albumid M)
> Computing track assignment...
> ...done.
> Success. Distance: 0.54
> Sending event: albuminfo_received
> Candidate: Various Artists - the album (albumid)
> Duplicate.
> Sending event: albuminfo_received
> Candidate: Various Artists - the album M (albumid M)
> Duplicate.
> Evaluating 2 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> Replacing item 1: /tmp/tmpy7k0h_gz/libdir/singletons/tïtle 0.mp3
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> 1 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Reimported album: added 4242.0, flexible attributes ['foo', 'foo'] from album 1 for /tmp/tmpy7k0h_gz/libdir/singletons
> Reimported item added 4747.0 from item 1 for /tmp/tmpy7k0h_gz/libdir/singletons/tïtle 0.mp3
> Reimported item flexible attributes ['baz', 'baz'] from item 1 for /tmp/tmpy7k0h_gz/libdir/singletons/tïtle 0.mp3
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> moving album art /tmp/tmpy7k0h_gz/libdir/singletons/cover.jpg to /tmp/tmpy7k0h_gz/libdir/the album artist/the album/cover.jpg
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_reimported_item_preserves_flexattr (test_importer.ReimportTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpg7qrrqxk/libdir/singletons/tïtle 0.mp3
> Searching for track ID: 8b882575-08a5-4452-a7a7-cbb8a1531f9e
> Item search terms: the artist - full
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> Replacing item 1: /tmp/tmpg7qrrqxk/libdir/singletons/tïtle 0.mp3
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> 1 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Reimported item added 4747.0 from item 1 for /tmp/tmpg7qrrqxk/libdir/singletons/tïtle 0.mp3
> Reimported item flexible attributes ['baz', 'baz'] from item 1 for /tmp/tmpg7qrrqxk/libdir/singletons/tïtle 0.mp3
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> ok
> test_resume_album (test_importer.ResumeImportTest) ... state file could not be read: [Errno 2] No such file or directory: '/tmp/tmpr4idiazt/state.pickle'
> /tmp/tmpr4idiazt/import/album 0
> 0 of 1 items replaced
> state file could not be read: [Errno 2] No such file or directory: '/tmp/tmpr4idiazt/state.pickle'
> Resuming interrupted import of /tmp/tmpr4idiazt/import
> Skipping previously-imported path: /tmp/tmpr4idiazt/import/album 0
> /tmp/tmpr4idiazt/import/album 1
> 0 of 1 items replaced
> ok
> test_resume_singleton (test_importer.ResumeImportTest) ... state file could not be read: [Errno 2] No such file or directory: '/tmp/tmp8i6lcrw_/state.pickle'
> /tmp/tmp8i6lcrw_/import/album 0/track 0.mp3
> 0 of 1 items replaced
> state file could not be read: [Errno 2] No such file or directory: '/tmp/tmp8i6lcrw_/state.pickle'
> Resuming interrupted import of /tmp/tmp8i6lcrw_/import
> Skipping previously-imported path: /tmp/tmp8i6lcrw_/import/album 0/track 0.mp3
> /tmp/tmp8i6lcrw_/import/album 0/track 1.mp3
> 0 of 1 items replaced
> ok
> test_rm (test_importer.RmTempTest) ... Removing extracted directory: /tmp/tmpz_2e45y9
> ok
> test_tag_log_line (test_importer.TagLogTest) ... ok
> test_tag_log_unicode (test_importer.TagLogTest) ... ok
> test_case_sensitive_only_affects_text (test_sort.CaseSensitivityTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> Sending event: database_change
> ok
> test_fixed_field_case_insensitive (test_sort.CaseSensitivityTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> Sending event: database_change
> ok
> test_fixed_field_case_sensitive (test_sort.CaseSensitivityTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> Sending event: database_change
> ok
> test_flex_field_case_insensitive (test_sort.CaseSensitivityTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> Sending event: database_change
> ok
> test_flex_field_case_sensitive (test_sort.CaseSensitivityTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> Sending event: database_change
> ok
> test_smart_artist_case_insensitive (test_sort.CaseSensitivityTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> Sending event: database_change
> ok
> test_smart_artist_case_sensitive (test_sort.CaseSensitivityTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> Sending event: database_change
> ok
> test_config_opposite_sort_album (test_sort.ConfigSortTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_config_opposite_sort_item (test_sort.ConfigSortTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_default_sort_album (test_sort.ConfigSortTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_default_sort_item (test_sort.ConfigSortTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_combined_non_existing_field_asc (test_sort.NonExistingFieldTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_combined_non_existing_field_desc (test_sort.NonExistingFieldTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_field_present_in_some_items (test_sort.NonExistingFieldTest)
> Test ordering by a field not present on all items. ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_negation_interaction (test_sort.NonExistingFieldTest)
> Test the handling of negation and sorting together. ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_non_existing_fields_not_fail (test_sort.NonExistingFieldTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_sort_asc (test_sort.SortAlbumComputedFieldTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_sort_desc (test_sort.SortAlbumComputedFieldTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_sort_asc (test_sort.SortAlbumFixedFieldTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_sort_desc (test_sort.SortAlbumFixedFieldTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_sort_two_field_asc (test_sort.SortAlbumFixedFieldTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_sort_asc (test_sort.SortAlbumFlexFieldTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_sort_desc (test_sort.SortAlbumFlexFieldTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_sort_two_field_asc (test_sort.SortAlbumFlexFieldTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_computed_first (test_sort.SortCombinedFieldTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_computed_second (test_sort.SortCombinedFieldTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_sort_asc (test_sort.SortFixedFieldTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_sort_desc (test_sort.SortFixedFieldTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_sort_path_field (test_sort.SortFixedFieldTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_sort_two_field_asc (test_sort.SortFixedFieldTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_sort_asc (test_sort.SortFlexFieldTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_sort_desc (test_sort.SortFlexFieldTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_sort_two_field (test_sort.SortFlexFieldTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_human_bytes (test_ui_init.InitTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_human_seconds (test_ui_init.InitTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_input_select_objects (test_ui_init.InputMethodsTest) ... ok
> test_stored_hashes (test_ipfs.IPFSPluginTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ipfs: Adding 'the album artist - baz' to temporary library
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_import_album_inplace_with_added_dates (test_importadded.ImportAddedTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp7pcfqatx/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.47
> Evaluating 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_import_album_with_added_dates (test_importadded.ImportAddedTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpfuadbp_i/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.47
> Evaluating 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_import_album_with_preserved_mtimes (test_importadded.ImportAddedTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp0j3y8_eh/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.47
> Evaluating 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_import_singletons_with_added_dates (test_importadded.ImportAddedTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpi23x_src/testsrcdir/the_album/track_1.mp3
> Item search terms: Tag Artist - Tag Title 1
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpi23x_src/testsrcdir/the_album/track_2.mp3
> Item search terms: Tag Artist - Tag Title 2
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_import_singletons_with_preserved_mtimes (test_importadded.ImportAddedTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp7xgb6ut6/testsrcdir/the_album/track_1.mp3
> Item search terms: Tag Artist - Tag Title 1
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp7xgb6ut6/testsrcdir/the_album/track_2.mp3
> Item search terms: Tag Artist - Tag Title 2
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_reimported_album_skipped (test_importadded.ImportAddedTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpe5syjf8b/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.47
> Evaluating 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpe5syjf8b/libdir/Applied Artist/Applied Album
> Tagging Applied Artist - Applied Album
> Searching for discovered album ID: albumid
> Search terms: Applied Artist - Applied Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.00
> Evaluating 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> Replacing item 1: /tmp/tmpe5syjf8b/libdir/Applied Artist/Applied Album/Applied Title 1.mp3
> Sending event: database_change
> Sending event: item_removed
> Replacing item 2: /tmp/tmpe5syjf8b/libdir/Applied Artist/Applied Album/Applied Title 2.mp3
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> 2 of 2 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Reimported album: added 1596268981.3635087, flexible attributes [] from album 1 for /tmp/tmpe5syjf8b/libdir/Applied Artist/Applied Album
> Reimported item added 1596268981.3635087 from item 1 for /tmp/tmpe5syjf8b/libdir/Applied Artist/Applied Album/Applied Title 1.mp3
> Reimported item flexible attributes [] from item 1 for /tmp/tmpe5syjf8b/libdir/Applied Artist/Applied Album/Applied Title 1.mp3
> Sending event: database_change
> Reimported item added 1596268981.3635087 from item 2 for /tmp/tmpe5syjf8b/libdir/Applied Artist/Applied Album/Applied Title 2.mp3
> Reimported item flexible attributes [] from item 2 for /tmp/tmpe5syjf8b/libdir/Applied Artist/Applied Album/Applied Title 2.mp3
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_reimported_singletons_skipped (test_importadded.ImportAddedTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpt21qh2iy/testsrcdir/the_album/track_1.mp3
> Item search terms: Tag Artist - Tag Title 1
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpt21qh2iy/testsrcdir/the_album/track_2.mp3
> Item search terms: Tag Artist - Tag Title 2
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpt21qh2iy/libdir/singletons/Applied Title 1.mp3
> Searching for track ID: trackid
> Item search terms: Applied Artist - Applied Title 1
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> Replacing item 1: /tmp/tmpt21qh2iy/libdir/singletons/Applied Title 1.mp3
> Sending event: database_change
> Sending event: item_removed
> 1 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Reimported item added 1596328981.451508 from item 1 for /tmp/tmpt21qh2iy/libdir/singletons/Applied Title 1.mp3
> Reimported item flexible attributes [] from item 1 for /tmp/tmpt21qh2iy/libdir/singletons/Applied Title 1.mp3
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpt21qh2iy/libdir/singletons/Applied Title 2.mp3
> Searching for track ID: trackid
> Item search terms: Applied Artist - Applied Title 2
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: import_task_choice
> Sending event: import_task_apply
> Replacing item 2: /tmp/tmpt21qh2iy/libdir/singletons/Applied Title 2.mp3
> Sending event: database_change
> Sending event: item_removed
> 1 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Reimported item added 1596268981.455508 from item 2 for /tmp/tmpt21qh2iy/libdir/singletons/Applied Title 2.mp3
> Reimported item flexible attributes [] from item 2 for /tmp/tmpt21qh2iy/libdir/singletons/Applied Title 2.mp3
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> ok
> test_concurrent_events (test_logging.ConcurrentEventsTest) ... ok
> test_root_logger_levels (test_logging.ConcurrentEventsTest)
> Root logger level should be shared between threads. ... /tmp/tmprxibrf4a/import/album 0
> /tmp/tmprxibrf4a/import/album 1
> Sending event: import_begin
> Sending event: import_task_created
> /tmp/tmprxibrf4a/import/album 0
> 0 of 1 items replaced
> Sending event: import_task_created
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_created
> /tmp/tmprxibrf4a/import/album 1
> 0 of 1 items replaced
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> /tmp/tmprxibrf4a/import/album 2
> Sending event: database_change
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_command_level0 (test_logging.LoggingLevelTest) ... dummy: info cmd
> dummy: warning cmd
> ok
> test_command_level1 (test_logging.LoggingLevelTest) ... no user configuration found at /tmp/tmpjyt9ab75/config.yaml
> data directory: /tmp/tmpjyt9ab75
> plugin paths: 
> Sending event: pluginload
> dummy: debug cmd
> dummy: info cmd
> dummy: warning cmd
> Sending event: cli_exit
> ok
> test_command_level2 (test_logging.LoggingLevelTest) ... no user configuration found at /tmp/tmpcg0deqi_/config.yaml
> data directory: /tmp/tmpcg0deqi_
> plugin paths: 
> Sending event: pluginload
> dummy: debug cmd
> dummy: info cmd
> dummy: warning cmd
> Sending event: cli_exit
> ok
> test_import_stage_level0 (test_logging.LoggingLevelTest) ... Sending event: import_begin
> Sending event: import_task_created
> /tmp/tmpvrp363hi/import/album 0
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> dummy: warning import_stage
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_import_stage_level1 (test_logging.LoggingLevelTest) ... Sending event: import_begin
> Sending event: import_task_created
> /tmp/tmpv1rn79zc/import/album 0
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> dummy: info import_stage
> dummy: warning import_stage
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_import_stage_level2 (test_logging.LoggingLevelTest) ... Sending event: import_begin
> Sending event: import_task_created
> /tmp/tmpt8oo4nzk/import/album 0
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> dummy: debug import_stage
> dummy: info import_stage
> dummy: warning import_stage
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_listener_level0 (test_logging.LoggingLevelTest) ... Sending event: dummy_event
> dummy: warning listener
> ok
> test_listener_level1 (test_logging.LoggingLevelTest) ... Sending event: dummy_event
> dummy: info listener
> dummy: warning listener
> ok
> test_listener_level2 (test_logging.LoggingLevelTest) ... Sending event: dummy_event
> dummy: debug listener
> dummy: info listener
> dummy: warning listener
> ok
> test_logging_management (test_logging.LoggingTest) ... ok
> test_str_format_logging (test_logging.LoggingTest) ... ok
> test_bytesting_path_windows_removes_magic_prefix (test_util.PathConversionTest) ... ok
> test_bytestring_path_windows_encodes_utf8 (test_util.PathConversionTest) ... ok
> test_syspath_posix_unchanged (test_util.PathConversionTest) ... ok
> test_syspath_windows_format (test_util.PathConversionTest) ... ok
> test_syspath_windows_format_unc_path (test_util.PathConversionTest) ... ok
> test_truncate_bytestring (test_util.PathTruncationTest) ... ok
> test_truncate_preserves_extension (test_util.PathTruncationTest) ... ok
> test_truncate_unicode (test_util.PathTruncationTest) ... ok
> test_command_output (test_util.UtilTest) ... ok
> test_convert_command_args_keeps_undecodeable_bytes (test_util.UtilTest) ... ok
> test_interactive_open (test_util.UtilTest) ... ok
> test_open_anything (test_util.UtilTest) ... ok
> test_sanitize_empty_component (test_util.UtilTest) ... skipped 'unimplemented: #359'
> test_sanitize_path_works_on_empty_string (test_util.UtilTest) ... ok
> test_sanitize_unix_replaces_leading_dot (test_util.UtilTest) ... ok
> test_sanitize_windows_replaces_illegal_chars (test_util.UtilTest) ... ok
> test_sanitize_windows_replaces_trailing_dot (test_util.UtilTest) ... ok
> test_sanitize_windows_replaces_trailing_space (test_util.UtilTest) ... ok
> test_sanitize_with_custom_replace_adds_replacements (test_util.UtilTest) ... ok
> test_sanitize_with_custom_replace_overrides_built_in_sub (test_util.UtilTest) ... ok
> test_alpha_all_chars (test_bucket.BucketPluginTest)
> Alphabet buckets can be named by listing all their chars ... ok
> test_alpha_first_last_chars (test_bucket.BucketPluginTest)
> Alphabet buckets can be named by listing the 'from-to' syntax ... ok
> test_alpha_out_of_range (test_bucket.BucketPluginTest)
> If no range match, return the initial ... ok
> test_alpha_regex (test_bucket.BucketPluginTest)
> Check regex is used ... ok
> test_alpha_regex_mix (test_bucket.BucketPluginTest)
> Check mixing regex and non-regex is possible ... ok
> test_bad_alpha_range_def (test_bucket.BucketPluginTest)
> If bad alpha range definition, a UserError is raised. ... ok
> test_bad_year_range_def_no4digits (test_bucket.BucketPluginTest)
> If bad year range definition, a UserError is raised. ... ok
> test_bad_year_range_def_nodigits (test_bucket.BucketPluginTest)
> If bad year range definition, a UserError is raised. ... ok
> test_span_from_str (test_bucket.BucketPluginTest) ... ok
> test_year_multiple_years (test_bucket.BucketPluginTest)
> Buckets can be named by listing all the years ... ok
> test_year_out_of_range (test_bucket.BucketPluginTest)
> If no range match, return the year ... ok
> test_year_out_of_range_extrapolate (test_bucket.BucketPluginTest)
> If no defined range match, extrapolate all ranges using the most ... ok
> test_year_single_year (test_bucket.BucketPluginTest)
> If a single year is given, range starts from this year and stops at ... ok
> test_year_single_year_last_folder (test_bucket.BucketPluginTest)
> If a single year is given for the last bucket, extend it to current ... ok
> test_year_two_years (test_bucket.BucketPluginTest)
> Buckets can be named with the 'from-to' syntax. ... ok
> test_load_item_types (test_metasync.MetaSyncTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_pretend_sync_from_itunes (test_metasync.MetaSyncTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpuhluvwjc/config.yaml
> data directory: /tmp/tmpuhluvwjc
> plugin paths: 
> Sending event: pluginload
> metasync: loading iTunes library from /<<PKGBUILDDIR>>/test/rsrc/itunes_library_unix.xml
> Sending event: cli_exit
> ok
> test_sync_from_itunes (test_metasync.MetaSyncTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpq91xmbzc/config.yaml
> data directory: /tmp/tmpq91xmbzc
> plugin paths: 
> Sending event: pluginload
> metasync: loading iTunes library from /<<PKGBUILDDIR>>/test/rsrc/itunes_library_unix.xml
> alt-J - An Awesome Wave - Tessellate
>   itunes_rating: 60 -> 80
>   itunes_playcount: 0
>   itunes_skipcount: 3
>   itunes_lastskipped: 2015-02-05 15:41:04
> Sending event: database_change
> alt-J - An Awesome Wave - Breezeblocks
>   itunes_playcount: 31
>   itunes_lastplayed: 2015-05-04 12:20:51
>   itunes_skipcount: 0
>   itunes_rating: 100
> Sending event: database_change
> Sending event: cli_exit
> ok
> test_append_genre_list (test_mediafile.AIFFTest) ... ok
> test_delete_art (test_mediafile.AIFFTest) ... ok
> test_delete_nonexisting (test_mediafile.AIFFTest) ... delete failed: [Errno 2] No such file or directory: b'/tmp/tmpxlqm6c5u/full.aiff'
> ok
> test_delete_packed_total (test_mediafile.AIFFTest) ... ok
> test_delete_partial_date (test_mediafile.AIFFTest) ... ok
> test_delete_tag (test_mediafile.AIFFTest) ... ok
> test_delete_year (test_mediafile.AIFFTest) ... ok
> test_overwrite_full (test_mediafile.AIFFTest) ... ok
> test_read_audio_properties (test_mediafile.AIFFTest) ... ok
> test_read_empty (test_mediafile.AIFFTest) ... ok
> test_read_full (test_mediafile.AIFFTest) ... ok
> test_read_genre_list (test_mediafile.AIFFTest) ... ok
> test_read_nonexisting (test_mediafile.AIFFTest) ... open failed: [Errno 2] No such file or directory: b'/tmp/tmps2ib03ie/full.aiff'
> ok
> test_save_nonexisting (test_mediafile.AIFFTest) ... save failed: [Errno 2] No such file or directory: b'/tmp/tmpp_gzv1kr/full.aiff'
> ok
> test_set_jpg_art (test_mediafile.AIFFTest) ... ok
> test_set_png_art (test_mediafile.AIFFTest) ... ok
> test_unparseable_date (test_mediafile.AIFFTest)
> The `unparseable.*` fixture should not crash but should return None ... ok
> test_update_empty (test_mediafile.AIFFTest) ... ok
> test_update_full (test_mediafile.AIFFTest) ... ok
> test_write_counters_without_total (test_mediafile.AIFFTest) ... ok
> test_write_date_components (test_mediafile.AIFFTest) ... ok
> test_write_dates (test_mediafile.AIFFTest) ... ok
> test_write_empty (test_mediafile.AIFFTest) ... ok
> test_write_genre_list (test_mediafile.AIFFTest) ... ok
> test_write_genre_list_get_first (test_mediafile.AIFFTest) ... ok
> test_write_incomplete_date_components (test_mediafile.AIFFTest) ... ok
> test_write_packed (test_mediafile.AIFFTest) ... ok
> test_append_genre_list (test_mediafile.AlacTest) ... ok
> test_delete_art (test_mediafile.AlacTest) ... ok
> test_delete_nonexisting (test_mediafile.AlacTest) ... delete failed: [Errno 2] No such file or directory: b'/tmp/tmpqgjqq76i/full.alac.m4a'
> ok
> test_delete_packed_total (test_mediafile.AlacTest) ... ok
> test_delete_partial_date (test_mediafile.AlacTest) ... ok
> test_delete_tag (test_mediafile.AlacTest) ... ok
> test_delete_year (test_mediafile.AlacTest) ... ok
> test_overwrite_full (test_mediafile.AlacTest) ... ok
> test_read_audio_properties (test_mediafile.AlacTest) ... ok
> test_read_empty (test_mediafile.AlacTest) ... ok
> test_read_full (test_mediafile.AlacTest) ... ok
> test_read_genre_list (test_mediafile.AlacTest) ... ok
> test_read_nonexisting (test_mediafile.AlacTest) ... open failed: [Errno 2] No such file or directory: b'/tmp/tmp1nynqqf8/full.alac.m4a'
> ok
> test_save_nonexisting (test_mediafile.AlacTest) ... save failed: [Errno 2] No such file or directory: b'/tmp/tmpxzxo7ftf/full.alac.m4a'
> ok
> test_set_jpg_art (test_mediafile.AlacTest) ... ok
> test_set_png_art (test_mediafile.AlacTest) ... ok
> test_unparseable_date (test_mediafile.AlacTest)
> The `unparseable.*` fixture should not crash but should return None ... ok
> test_update_empty (test_mediafile.AlacTest) ... ok
> test_update_full (test_mediafile.AlacTest) ... ok
> test_write_counters_without_total (test_mediafile.AlacTest) ... ok
> test_write_date_components (test_mediafile.AlacTest) ... ok
> test_write_dates (test_mediafile.AlacTest) ... ok
> test_write_empty (test_mediafile.AlacTest) ... ok
> test_write_genre_list (test_mediafile.AlacTest) ... ok
> test_write_genre_list_get_first (test_mediafile.AlacTest) ... ok
> test_write_incomplete_date_components (test_mediafile.AlacTest) ... ok
> test_write_packed (test_mediafile.AlacTest) ... ok
> test_add_image_structure (test_mediafile.ApeTest) ... ok
> test_add_tiff_image (test_mediafile.ApeTest) ... ok
> test_append_genre_list (test_mediafile.ApeTest) ... ok
> test_delete_art (test_mediafile.ApeTest) ... ok
> test_delete_image_structures (test_mediafile.ApeTest) ... ok
> test_delete_nonexisting (test_mediafile.ApeTest) ... delete failed: [Errno 2] No such file or directory: b'/tmp/tmpy9o1him9/full.ape'
> ok
> test_delete_packed_total (test_mediafile.ApeTest) ... ok
> test_delete_partial_date (test_mediafile.ApeTest) ... ok
> test_delete_tag (test_mediafile.ApeTest) ... ok
> test_delete_year (test_mediafile.ApeTest) ... ok
> test_guess_cover (test_mediafile.ApeTest) ... ok
> test_overwrite_full (test_mediafile.ApeTest) ... ok
> test_read_audio_properties (test_mediafile.ApeTest) ... ok
> test_read_empty (test_mediafile.ApeTest) ... ok
> test_read_full (test_mediafile.ApeTest) ... ok
> test_read_genre_list (test_mediafile.ApeTest) ... ok
> test_read_image_structures (test_mediafile.ApeTest) ... ok
> test_read_nonexisting (test_mediafile.ApeTest) ... open failed: [Errno 2] No such file or directory: b'/tmp/tmpg4c3463v/full.ape'
> ok
> test_save_nonexisting (test_mediafile.ApeTest) ... save failed: [Errno 2] No such file or directory: b'/tmp/tmplb81gmk1/full.ape'
> ok
> test_set_image_structure (test_mediafile.ApeTest) ... ok
> test_set_jpg_art (test_mediafile.ApeTest) ... ok
> test_set_png_art (test_mediafile.ApeTest) ... ok
> test_unparseable_date (test_mediafile.ApeTest)
> The `unparseable.*` fixture should not crash but should return None ... ok
> test_update_empty (test_mediafile.ApeTest) ... ok
> test_update_full (test_mediafile.ApeTest) ... ok
> test_write_counters_without_total (test_mediafile.ApeTest) ... ok
> test_write_date_components (test_mediafile.ApeTest) ... ok
> test_write_dates (test_mediafile.ApeTest) ... ok
> test_write_empty (test_mediafile.ApeTest) ... ok
> test_write_genre_list (test_mediafile.ApeTest) ... ok
> test_write_genre_list_get_first (test_mediafile.ApeTest) ... ok
> test_write_incomplete_date_components (test_mediafile.ApeTest) ... ok
> test_write_packed (test_mediafile.ApeTest) ... ok
> test_append_genre_list (test_mediafile.DSFTest) ... ok
> test_delete_art (test_mediafile.DSFTest) ... ok
> test_delete_nonexisting (test_mediafile.DSFTest) ... delete failed: [Errno 2] No such file or directory: b'/tmp/tmpi4uoq_s1/full.dsf'
> ok
> test_delete_packed_total (test_mediafile.DSFTest) ... ok
> test_delete_partial_date (test_mediafile.DSFTest) ... ok
> test_delete_tag (test_mediafile.DSFTest) ... ok
> test_delete_year (test_mediafile.DSFTest) ... ok
> test_overwrite_full (test_mediafile.DSFTest) ... ok
> test_read_audio_properties (test_mediafile.DSFTest) ... ok
> test_read_empty (test_mediafile.DSFTest) ... ok
> test_read_full (test_mediafile.DSFTest) ... ok
> test_read_genre_list (test_mediafile.DSFTest) ... ok
> test_read_nonexisting (test_mediafile.DSFTest) ... open failed: [Errno 2] No such file or directory: b'/tmp/tmpsp1wh0qy/full.dsf'
> ok
> test_save_nonexisting (test_mediafile.DSFTest) ... save failed: [Errno 2] No such file or directory: b'/tmp/tmpya6n7rwg/full.dsf'
> ok
> test_set_jpg_art (test_mediafile.DSFTest) ... ok
> test_set_png_art (test_mediafile.DSFTest) ... ok
> test_unparseable_date (test_mediafile.DSFTest)
> The `unparseable.*` fixture should not crash but should return None ... ok
> test_update_empty (test_mediafile.DSFTest) ... ok
> test_update_full (test_mediafile.DSFTest) ... ok
> test_write_counters_without_total (test_mediafile.DSFTest) ... ok
> test_write_date_components (test_mediafile.DSFTest) ... ok
> test_write_dates (test_mediafile.DSFTest) ... ok
> test_write_empty (test_mediafile.DSFTest) ... ok
> test_write_genre_list (test_mediafile.DSFTest) ... ok
> test_write_genre_list_get_first (test_mediafile.DSFTest) ... ok
> test_write_incomplete_date_components (test_mediafile.DSFTest) ... ok
> test_write_packed (test_mediafile.DSFTest) ... ok
> test_add_image_structure (test_mediafile.FlacTest) ... ok
> test_add_tiff_image (test_mediafile.FlacTest) ... ok
> test_append_genre_list (test_mediafile.FlacTest) ... ok
> test_delete_art (test_mediafile.FlacTest) ... ok
> test_delete_image_structures (test_mediafile.FlacTest) ... ok
> test_delete_nonexisting (test_mediafile.FlacTest) ... delete failed: [Errno 2] No such file or directory: b'/tmp/tmpdw1iz2co/full.flac'
> ok
> test_delete_packed_total (test_mediafile.FlacTest) ... ok
> test_delete_partial_date (test_mediafile.FlacTest) ... ok
> test_delete_tag (test_mediafile.FlacTest) ... ok
> test_delete_year (test_mediafile.FlacTest) ... ok
> test_guess_cover (test_mediafile.FlacTest) ... ok
> test_overwrite_full (test_mediafile.FlacTest) ... ok
> test_read_audio_properties (test_mediafile.FlacTest) ... ok
> test_read_empty (test_mediafile.FlacTest) ... ok
> test_read_full (test_mediafile.FlacTest) ... ok
> test_read_genre_list (test_mediafile.FlacTest) ... ok
> test_read_image_structures (test_mediafile.FlacTest) ... ok
> test_read_nonexisting (test_mediafile.FlacTest) ... open failed: [Errno 2] No such file or directory: b'/tmp/tmpkd7ot_gd/full.flac'
> ok
> test_read_track_without_total (test_mediafile.FlacTest) ... ok
> test_save_nonexisting (test_mediafile.FlacTest) ... save failed: [Errno 2] No such file or directory: b'/tmp/tmp2w55z0bo/full.flac'
> ok
> test_set_image_structure (test_mediafile.FlacTest) ... ok
> test_set_jpg_art (test_mediafile.FlacTest) ... ok
> test_set_png_art (test_mediafile.FlacTest) ... ok
> test_unparseable_date (test_mediafile.FlacTest)
> The `unparseable.*` fixture should not crash but should return None ... ok
> test_update_empty (test_mediafile.FlacTest) ... ok
> test_update_full (test_mediafile.FlacTest) ... ok
> test_write_counters_without_total (test_mediafile.FlacTest) ... ok
> test_write_date_components (test_mediafile.FlacTest) ... ok
> test_write_dates (test_mediafile.FlacTest) ... ok
> test_write_empty (test_mediafile.FlacTest) ... ok
> test_write_genre_list (test_mediafile.FlacTest) ... ok
> test_write_genre_list_get_first (test_mediafile.FlacTest) ... ok
> test_write_incomplete_date_components (test_mediafile.FlacTest) ... ok
> test_write_packed (test_mediafile.FlacTest) ... ok
> test_add_image_structure (test_mediafile.MP3Test) ... ok
> test_add_tiff_image (test_mediafile.MP3Test) ... ok
> test_append_genre_list (test_mediafile.MP3Test) ... ok
> test_delete_art (test_mediafile.MP3Test) ... ok
> test_delete_image_structures (test_mediafile.MP3Test) ... ok
> test_delete_nonexisting (test_mediafile.MP3Test) ... delete failed: [Errno 2] No such file or directory: b'/tmp/tmpyedq14_9/full.mp3'
> ok
> test_delete_packed_total (test_mediafile.MP3Test) ... ok
> test_delete_partial_date (test_mediafile.MP3Test) ... ok
> test_delete_tag (test_mediafile.MP3Test) ... ok
> test_delete_year (test_mediafile.MP3Test) ... ok
> test_guess_cover (test_mediafile.MP3Test) ... ok
> test_overwrite_full (test_mediafile.MP3Test) ... ok
> test_read_audio_properties (test_mediafile.MP3Test) ... ok
> test_read_empty (test_mediafile.MP3Test) ... ok
> test_read_full (test_mediafile.MP3Test) ... ok
> test_read_genre_list (test_mediafile.MP3Test) ... ok
> test_read_image_structures (test_mediafile.MP3Test) ... ok
> test_read_nonexisting (test_mediafile.MP3Test) ... open failed: [Errno 2] No such file or directory: b'/tmp/tmp1i6wdxbo/full.mp3'
> ok
> test_read_track_without_total (test_mediafile.MP3Test) ... ok
> test_save_nonexisting (test_mediafile.MP3Test) ... save failed: [Errno 2] No such file or directory: b'/tmp/tmpdqr3wey_/full.mp3'
> ok
> test_set_image_structure (test_mediafile.MP3Test) ... ok
> test_set_jpg_art (test_mediafile.MP3Test) ... ok
> test_set_png_art (test_mediafile.MP3Test) ... ok
> test_unknown_apic_type (test_mediafile.MP3Test) ... ignoring unknown image type index 255
> ok
> test_unparseable_date (test_mediafile.MP3Test)
> The `unparseable.*` fixture should not crash but should return None ... ok
> test_update_empty (test_mediafile.MP3Test) ... ok
> test_update_full (test_mediafile.MP3Test) ... ok
> test_write_counters_without_total (test_mediafile.MP3Test) ... ok
> test_write_date_components (test_mediafile.MP3Test) ... ok
> test_write_dates (test_mediafile.MP3Test) ... ok
> test_write_empty (test_mediafile.MP3Test) ... ok
> test_write_genre_list (test_mediafile.MP3Test) ... ok
> test_write_genre_list_get_first (test_mediafile.MP3Test) ... ok
> test_write_incomplete_date_components (test_mediafile.MP3Test) ... ok
> test_write_packed (test_mediafile.MP3Test) ... ok
> test_add_image_structure (test_mediafile.MP4Test) ... ok
> test_add_tiff_image_fails (test_mediafile.MP4Test) ... ok
> test_append_genre_list (test_mediafile.MP4Test) ... ok
> test_delete_art (test_mediafile.MP4Test) ... ok
> test_delete_image_structures (test_mediafile.MP4Test) ... ok
> test_delete_nonexisting (test_mediafile.MP4Test) ... delete failed: [Errno 2] No such file or directory: b'/tmp/tmp679txox9/full.m4a'
> ok
> test_delete_packed_total (test_mediafile.MP4Test) ... ok
> test_delete_partial_date (test_mediafile.MP4Test) ... ok
> test_delete_tag (test_mediafile.MP4Test) ... ok
> test_delete_year (test_mediafile.MP4Test) ... ok
> test_guess_cover (test_mediafile.MP4Test) ... ok
> test_overwrite_full (test_mediafile.MP4Test) ... ok
> test_read_audio_properties (test_mediafile.MP4Test) ... ok
> test_read_empty (test_mediafile.MP4Test) ... ok
> test_read_full (test_mediafile.MP4Test) ... ok
> test_read_genre_list (test_mediafile.MP4Test) ... ok
> test_read_image_structures (test_mediafile.MP4Test) ... ok
> test_read_nonexisting (test_mediafile.MP4Test) ... open failed: [Errno 2] No such file or directory: b'/tmp/tmplzurmzdc/full.m4a'
> ok
> test_read_track_without_total (test_mediafile.MP4Test) ... ok
> test_save_nonexisting (test_mediafile.MP4Test) ... save failed: [Errno 2] No such file or directory: b'/tmp/tmpklnaaywj/full.m4a'
> ok
> test_set_image_structure (test_mediafile.MP4Test) ... ok
> test_set_jpg_art (test_mediafile.MP4Test) ... ok
> test_set_png_art (test_mediafile.MP4Test) ... ok
> test_unparseable_date (test_mediafile.MP4Test)
> The `unparseable.*` fixture should not crash but should return None ... ok
> test_update_empty (test_mediafile.MP4Test) ... ok
> test_update_full (test_mediafile.MP4Test) ... ok
> test_write_counters_without_total (test_mediafile.MP4Test) ... ok
> test_write_date_components (test_mediafile.MP4Test) ... ok
> test_write_dates (test_mediafile.MP4Test) ... ok
> test_write_empty (test_mediafile.MP4Test) ... ok
> test_write_genre_list (test_mediafile.MP4Test) ... ok
> test_write_genre_list_get_first (test_mediafile.MP4Test) ... ok
> test_write_incomplete_date_components (test_mediafile.MP4Test) ... ok
> test_write_packed (test_mediafile.MP4Test) ... ok
> test_fields_in_readable_fields (test_mediafile.MediaFieldTest) ... ok
> test_known_fields (test_mediafile.MediaFieldTest) ... ok
> test_properties_from_fields (test_mediafile.MediaFieldTest) ... ok
> test_properties_from_readable_fields (test_mediafile.MediaFieldTest) ... ok
> test_append_genre_list (test_mediafile.MusepackTest) ... ok
> test_delete_art (test_mediafile.MusepackTest) ... ok
> test_delete_nonexisting (test_mediafile.MusepackTest) ... delete failed: [Errno 2] No such file or directory: b'/tmp/tmp156f0y5f/full.mpc'
> ok
> test_delete_packed_total (test_mediafile.MusepackTest) ... ok
> test_delete_partial_date (test_mediafile.MusepackTest) ... ok
> test_delete_tag (test_mediafile.MusepackTest) ... ok
> test_delete_year (test_mediafile.MusepackTest) ... ok
> test_overwrite_full (test_mediafile.MusepackTest) ... ok
> test_read_audio_properties (test_mediafile.MusepackTest) ... ok
> test_read_empty (test_mediafile.MusepackTest) ... ok
> test_read_full (test_mediafile.MusepackTest) ... ok
> test_read_genre_list (test_mediafile.MusepackTest) ... ok
> test_read_nonexisting (test_mediafile.MusepackTest) ... open failed: [Errno 2] No such file or directory: b'/tmp/tmpz1wwvlmq/full.mpc'
> ok
> test_save_nonexisting (test_mediafile.MusepackTest) ... save failed: [Errno 2] No such file or directory: b'/tmp/tmpe001eefz/full.mpc'
> ok
> test_set_jpg_art (test_mediafile.MusepackTest) ... ok
> test_set_png_art (test_mediafile.MusepackTest) ... ok
> test_unparseable_date (test_mediafile.MusepackTest)
> The `unparseable.*` fixture should not crash but should return None ... ok
> test_update_empty (test_mediafile.MusepackTest) ... ok
> test_update_full (test_mediafile.MusepackTest) ... ok
> test_write_counters_without_total (test_mediafile.MusepackTest) ... ok
> test_write_date_components (test_mediafile.MusepackTest) ... ok
> test_write_dates (test_mediafile.MusepackTest) ... ok
> test_write_empty (test_mediafile.MusepackTest) ... ok
> test_write_genre_list (test_mediafile.MusepackTest) ... ok
> test_write_genre_list_get_first (test_mediafile.MusepackTest) ... ok
> test_write_incomplete_date_components (test_mediafile.MusepackTest) ... ok
> test_write_packed (test_mediafile.MusepackTest) ... ok
> test_add_image_structure (test_mediafile.OggTest) ... ok
> test_add_tiff_image (test_mediafile.OggTest) ... ok
> test_append_genre_list (test_mediafile.OggTest) ... ok
> test_date_tag_with_slashes (test_mediafile.OggTest) ... ok
> test_delete_art (test_mediafile.OggTest) ... ok
> test_delete_image_structures (test_mediafile.OggTest) ... ok
> test_delete_nonexisting (test_mediafile.OggTest) ... delete failed: [Errno 2] No such file or directory: b'/tmp/tmpedcj1nbd/full.ogg'
> ok
> test_delete_packed_total (test_mediafile.OggTest) ... ok
> test_delete_partial_date (test_mediafile.OggTest) ... ok
> test_delete_tag (test_mediafile.OggTest) ... ok
> test_delete_year (test_mediafile.OggTest) ... ok
> test_guess_cover (test_mediafile.OggTest) ... ok
> test_legacy_coverart_tag (test_mediafile.OggTest) ... ok
> test_overwrite_full (test_mediafile.OggTest) ... ok
> test_read_audio_properties (test_mediafile.OggTest) ... ok
> test_read_date_from_year_tag (test_mediafile.OggTest) ... ok
> test_read_empty (test_mediafile.OggTest) ... ok
> test_read_full (test_mediafile.OggTest) ... ok
> test_read_genre_list (test_mediafile.OggTest) ... ok
> test_read_image_structures (test_mediafile.OggTest) ... ok
> test_read_nonexisting (test_mediafile.OggTest) ... open failed: [Errno 2] No such file or directory: b'/tmp/tmpdl_dxz55/full.ogg'
> ok
> test_save_nonexisting (test_mediafile.OggTest) ... save failed: [Errno 2] No such file or directory: b'/tmp/tmpb6ytp4a2/full.ogg'
> ok
> test_set_image_structure (test_mediafile.OggTest) ... ok
> test_set_jpg_art (test_mediafile.OggTest) ... ok
> test_set_png_art (test_mediafile.OggTest) ... ok
> test_unparseable_date (test_mediafile.OggTest)
> The `unparseable.*` fixture should not crash but should return None ... ok
> test_update_empty (test_mediafile.OggTest) ... ok
> test_update_full (test_mediafile.OggTest) ... ok
> test_write_counters_without_total (test_mediafile.OggTest) ... ok
> test_write_date_components (test_mediafile.OggTest) ... ok
> test_write_date_to_year_tag (test_mediafile.OggTest) ... ok
> test_write_dates (test_mediafile.OggTest) ... ok
> test_write_empty (test_mediafile.OggTest) ... ok
> test_write_genre_list (test_mediafile.OggTest) ... ok
> test_write_genre_list_get_first (test_mediafile.OggTest) ... ok
> test_write_incomplete_date_components (test_mediafile.OggTest) ... ok
> test_write_packed (test_mediafile.OggTest) ... ok
> test_append_genre_list (test_mediafile.OpusTest) ... ok
> test_delete_art (test_mediafile.OpusTest) ... ok
> test_delete_nonexisting (test_mediafile.OpusTest) ... delete failed: [Errno 2] No such file or directory: b'/tmp/tmp8syuwxba/full.opus'
> ok
> test_delete_packed_total (test_mediafile.OpusTest) ... ok
> test_delete_partial_date (test_mediafile.OpusTest) ... ok
> test_delete_tag (test_mediafile.OpusTest) ... ok
> test_delete_year (test_mediafile.OpusTest) ... ok
> test_overwrite_full (test_mediafile.OpusTest) ... ok
> test_read_audio_properties (test_mediafile.OpusTest) ... ok
> test_read_empty (test_mediafile.OpusTest) ... ok
> test_read_full (test_mediafile.OpusTest) ... ok
> test_read_genre_list (test_mediafile.OpusTest) ... ok
> test_read_nonexisting (test_mediafile.OpusTest) ... open failed: [Errno 2] No such file or directory: b'/tmp/tmpzcovsy6u/full.opus'
> ok
> test_save_nonexisting (test_mediafile.OpusTest) ... save failed: [Errno 2] No such file or directory: b'/tmp/tmpe_wmwaa6/full.opus'
> ok
> test_set_jpg_art (test_mediafile.OpusTest) ... ok
> test_set_png_art (test_mediafile.OpusTest) ... ok
> test_unparseable_date (test_mediafile.OpusTest)
> The `unparseable.*` fixture should not crash but should return None ... ok
> test_update_empty (test_mediafile.OpusTest) ... ok
> test_update_full (test_mediafile.OpusTest) ... ok
> test_write_counters_without_total (test_mediafile.OpusTest) ... ok
> test_write_date_components (test_mediafile.OpusTest) ... ok
> test_write_dates (test_mediafile.OpusTest) ... ok
> test_write_empty (test_mediafile.OpusTest) ... ok
> test_write_genre_list (test_mediafile.OpusTest) ... ok
> test_write_genre_list_get_first (test_mediafile.OpusTest) ... ok
> test_write_incomplete_date_components (test_mediafile.OpusTest) ... ok
> test_write_packed (test_mediafile.OpusTest) ... ok
> test_add_image_structure (test_mediafile.WMATest) ... ok
> test_add_tiff_image (test_mediafile.WMATest) ... ok
> test_append_genre_list (test_mediafile.WMATest) ... ok
> test_delete_art (test_mediafile.WMATest) ... ok
> test_delete_image_structures (test_mediafile.WMATest) ... ok
> test_delete_nonexisting (test_mediafile.WMATest) ... delete failed: [Errno 2] No such file or directory: b'/tmp/tmpd3fsay79/full.wma'
> ok
> test_delete_packed_total (test_mediafile.WMATest) ... ok
> test_delete_partial_date (test_mediafile.WMATest) ... ok
> test_delete_tag (test_mediafile.WMATest) ... ok
> test_delete_year (test_mediafile.WMATest) ... ok
> test_guess_cover (test_mediafile.WMATest) ... ok
> test_overwrite_full (test_mediafile.WMATest) ... ok
> test_read_audio_properties (test_mediafile.WMATest) ... ok
> test_read_empty (test_mediafile.WMATest) ... ok
> test_read_full (test_mediafile.WMATest) ... ok
> test_read_genre_list (test_mediafile.WMATest) ... ok
> test_read_image_structures (test_mediafile.WMATest) ... ok
> test_read_nonexisting (test_mediafile.WMATest) ... open failed: [Errno 2] No such file or directory: b'/tmp/tmph9hz7hva/full.wma'
> ok
> test_read_pure_tags (test_mediafile.WMATest) ... ok
> test_save_nonexisting (test_mediafile.WMATest) ... save failed: [Errno 2] No such file or directory: b'/tmp/tmpqwupflk8/full.wma'
> ok
> test_set_image_structure (test_mediafile.WMATest) ... ok
> test_set_jpg_art (test_mediafile.WMATest) ... ok
> test_set_png_art (test_mediafile.WMATest) ... ok
> test_unparseable_date (test_mediafile.WMATest)
> The `unparseable.*` fixture should not crash but should return None ... ok
> test_update_empty (test_mediafile.WMATest) ... ok
> test_update_full (test_mediafile.WMATest) ... ok
> test_write_counters_without_total (test_mediafile.WMATest) ... ok
> test_write_date_components (test_mediafile.WMATest) ... ok
> test_write_dates (test_mediafile.WMATest) ... ok
> test_write_empty (test_mediafile.WMATest) ... ok
> test_write_genre_list (test_mediafile.WMATest) ... ok
> test_write_genre_list_get_first (test_mediafile.WMATest) ... ok
> test_write_incomplete_date_components (test_mediafile.WMATest) ... ok
> test_write_packed (test_mediafile.WMATest) ... ok
> test_append_genre_list (test_mediafile.WavpackTest) ... ok
> test_delete_art (test_mediafile.WavpackTest) ... ok
> test_delete_nonexisting (test_mediafile.WavpackTest) ... delete failed: [Errno 2] No such file or directory: b'/tmp/tmphpbr3s_i/full.wv'
> ok
> test_delete_packed_total (test_mediafile.WavpackTest) ... ok
> test_delete_partial_date (test_mediafile.WavpackTest) ... ok
> test_delete_tag (test_mediafile.WavpackTest) ... ok
> test_delete_year (test_mediafile.WavpackTest) ... ok
> test_overwrite_full (test_mediafile.WavpackTest) ... ok
> test_read_audio_properties (test_mediafile.WavpackTest) ... FAIL
> test_read_empty (test_mediafile.WavpackTest) ... ok
> test_read_full (test_mediafile.WavpackTest) ... ok
> test_read_genre_list (test_mediafile.WavpackTest) ... ok
> test_read_nonexisting (test_mediafile.WavpackTest) ... open failed: [Errno 2] No such file or directory: b'/tmp/tmp032a0dri/full.wv'
> ok
> test_save_nonexisting (test_mediafile.WavpackTest) ... save failed: [Errno 2] No such file or directory: b'/tmp/tmp4h2qj461/full.wv'
> ok
> test_set_jpg_art (test_mediafile.WavpackTest) ... ok
> test_set_png_art (test_mediafile.WavpackTest) ... ok
> test_unparseable_date (test_mediafile.WavpackTest)
> The `unparseable.*` fixture should not crash but should return None ... ok
> test_update_empty (test_mediafile.WavpackTest) ... ok
> test_update_full (test_mediafile.WavpackTest) ... ok
> test_write_counters_without_total (test_mediafile.WavpackTest) ... ok
> test_write_date_components (test_mediafile.WavpackTest) ... ok
> test_write_dates (test_mediafile.WavpackTest) ... ok
> test_write_empty (test_mediafile.WavpackTest) ... ok
> test_write_genre_list (test_mediafile.WavpackTest) ... ok
> test_write_genre_list_get_first (test_mediafile.WavpackTest) ... ok
> test_write_incomplete_date_components (test_mediafile.WavpackTest) ... ok
> test_write_packed (test_mediafile.WavpackTest) ... ok
> test_convert_perm_from_int (test_permissions.PermissionsPluginTest) ... ok
> test_convert_perm_from_string (test_permissions.PermissionsPluginTest) ... ok
> test_failing_to_set_permissions (test_permissions.PermissionsPluginTest) ... Sending event: import_begin
> Sending event: import_task_created
> /tmp/tmpv6ygkkrt/import/album 0
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> permissions: could not set permissions on /tmp/tmpv6ygkkrt/libdir/artist/album 0/02 track 0.mp3
> permissions: could not set permissions on /tmp/tmpv6ygkkrt/libdir/artist
> permissions: could not set permissions on /tmp/tmpv6ygkkrt/libdir/artist/album 0
> permissions: could not set permissions on /tmp/tmpv6ygkkrt/libdir/artist/album 0/02 track 0.mp3
> permissions: could not set permissions on /tmp/tmpv6ygkkrt/libdir/artist
> permissions: could not set permissions on /tmp/tmpv6ygkkrt/libdir/artist/album 0
> permissions: could not set permissions on /tmp/tmpv6ygkkrt/libdir/artist/album 0/02 track 0.mp3
> permissions: could not set permissions on /tmp/tmpv6ygkkrt/libdir/artist
> permissions: could not set permissions on /tmp/tmpv6ygkkrt/libdir/artist/album 0
> ok
> test_permissions_on_album_imported (test_permissions.PermissionsPluginTest) ... Sending event: import_begin
> Sending event: import_task_created
> /tmp/tmpekj5v55e/import/album 0
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_permissions_on_item_imported (test_permissions.PermissionsPluginTest) ... Sending event: import_begin
> Sending event: import_task_created
> /tmp/tmpzwbbzseu/import/album 0/track 0.mp3
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> ok
> test_multi_format_album_playlist (test_importfeeds.ImportfeedsTestTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_playlist_in_subdir (test_importfeeds.ImportfeedsTestTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_args (test_spotify.SpotifyPluginTest) ... spotify: Spotify access token: 3XyiC3raJySbIAV5LVYj1DaWbcocNi3LAJTNXRnYYGVUl6mbbqXNhW3YcZnQgYXNWHFkVGSMlc0tMuvq8CF
> spotify: fail is not a valid mode
> ok
> test_empty_query (test_spotify.SpotifyPluginTest) ... spotify: Spotify access token: 3XyiC3raJySbIAV5LVYj1DaWbcocNi3LAJTNXRnYYGVUl6mbbqXNhW3YcZnQgYXNWHFkVGSMlc0tMuvq8CF
> spotify: Your beets query returned no items, skipping Spotify.
> ok
> test_missing_request (test_spotify.SpotifyPluginTest) ... spotify: Spotify access token: 3XyiC3raJySbIAV5LVYj1DaWbcocNi3LAJTNXRnYYGVUl6mbbqXNhW3YcZnQgYXNWHFkVGSMlc0tMuvq8CF
> Sending event: database_change
> Sending event: database_change
> spotify: Processing 1 tracks...
> spotify: Searching Spotify for 'duifhjslkef artist:ujydfsuihse album:lkajsdflakjsd'
> spotify: Found 0 results from Spotify for 'duifhjslkef artist:ujydfsuihse album:lkajsdflakjsd'
> spotify: 1 track(s) did not match a Spotify ID;
> use --show-failures to display
> ok
> test_track_request (test_spotify.SpotifyPluginTest) ... spotify: Spotify access token: 3XyiC3raJySbIAV5LVYj1DaWbcocNi3LAJTNXRnYYGVUl6mbbqXNhW3YcZnQgYXNWHFkVGSMlc0tMuvq8CF
> Sending event: database_change
> Sending event: database_change
> spotify: Processing 1 tracks...
> spotify: Searching Spotify for 'Happy artist:Pharrell Williams album:Despicable Me 2'
> spotify: Found 1 results from Spotify for 'Happy artist:Pharrell Williams album:Despicable Me 2'
> spotify: Spotify track(s) found, count: 1
> ok
> test_item_moved (test_playlist.PlaylistTestItemMoved) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_moved
> Sending event: item_moved
> Sending event: cli_exit
> playlist: Updating playlist: /tmp/tmp6z0df5lq/relative.m3u
> playlist: Updated playlist /tmp/tmp6z0df5lq/relative.m3u (1 changes, 0 deletions)
> playlist: Updating playlist: /tmp/tmp6z0df5lq/absolute.m3u
> playlist: Updated playlist /tmp/tmp6z0df5lq/absolute.m3u (1 changes, 0 deletions)
> ok
> test_item_removed (test_playlist.PlaylistTestItemRemoved) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> Sending event: item_removed
> Sending event: cli_exit
> playlist: Unable to open playlist directory /tmp/tmp6z0df5lq
> playlist: Updating playlist: /tmp/tmpoajkh1ek/relative.m3u
> playlist: Updated playlist /tmp/tmpoajkh1ek/relative.m3u (0 changes, 1 deletions)
> playlist: Updating playlist: /tmp/tmpoajkh1ek/absolute.m3u
> playlist: Updated playlist /tmp/tmpoajkh1ek/absolute.m3u (0 changes, 1 deletions)
> ok
> test_name_query_with_absolute_paths_in_playlist (test_playlist.PlaylistTestRelativeToDir) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_name_query_with_nonexisting_playlist (test_playlist.PlaylistTestRelativeToDir) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_name_query_with_relative_paths_in_playlist (test_playlist.PlaylistTestRelativeToDir) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_path_query_with_absolute_paths_in_playlist (test_playlist.PlaylistTestRelativeToDir) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_path_query_with_nonexisting_playlist (test_playlist.PlaylistTestRelativeToDir) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_path_query_with_relative_paths_in_playlist (test_playlist.PlaylistTestRelativeToDir) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_name_query_with_absolute_paths_in_playlist (test_playlist.PlaylistTestRelativeToLib) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_name_query_with_nonexisting_playlist (test_playlist.PlaylistTestRelativeToLib) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_name_query_with_relative_paths_in_playlist (test_playlist.PlaylistTestRelativeToLib) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_path_query_with_absolute_paths_in_playlist (test_playlist.PlaylistTestRelativeToLib) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_path_query_with_nonexisting_playlist (test_playlist.PlaylistTestRelativeToLib) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_path_query_with_relative_paths_in_playlist (test_playlist.PlaylistTestRelativeToLib) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_name_query_with_absolute_paths_in_playlist (test_playlist.PlaylistTestRelativeToPls) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_name_query_with_nonexisting_playlist (test_playlist.PlaylistTestRelativeToPls) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_name_query_with_relative_paths_in_playlist (test_playlist.PlaylistTestRelativeToPls) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_path_query_with_absolute_paths_in_playlist (test_playlist.PlaylistTestRelativeToPls) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_path_query_with_nonexisting_playlist (test_playlist.PlaylistTestRelativeToPls) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_path_query_with_relative_paths_in_playlist (test_playlist.PlaylistTestRelativeToPls) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_custom_format (test_the.ThePluginTest) ... the: "The A" -> "The (A)"
> ok
> test_custom_pattern (test_the.ThePluginTest) ... the: "test passed" -> "passed, test"
> ok
> test_template_function_with_defaults (test_the.ThePluginTest) ... the: "The The" -> "The, The"
> the: "An A" -> "A, An"
> ok
> test_unthe_with_default_patterns (test_the.ThePluginTest) ... ok
> test_unthe_with_strip (test_the.ThePluginTest) ... ok
> test_hate (test_ihate.IHatePluginTest) ... ok
> test_hook_argument_substitution (test_hook.HookTest) ... Sending event: test_argument_event_0
> Sending event: test_argument_event_1
> Sending event: test_argument_event_2
> Sending event: test_argument_event_3
> Sending event: test_argument_event_4
> ok
> test_hook_bytes_interpolation (test_hook.HookTest) ... Sending event: test_bytes_event_0
> Sending event: test_bytes_event_1
> Sending event: test_bytes_event_2
> Sending event: test_bytes_event_3
> Sending event: test_bytes_event_4
> ok
> test_hook_event_substitution (test_hook.HookTest) ... Sending event: test_event_event_0
> Sending event: test_event_event_1
> Sending event: test_event_event_2
> Sending event: test_event_event_3
> Sending event: test_event_event_4
> ok
> test_hook_no_arguments (test_hook.HookTest) ... Sending event: test_no_argument_event_0
> Sending event: test_no_argument_event_1
> Sending event: test_no_argument_event_2
> Sending event: test_no_argument_event_3
> Sending event: test_no_argument_event_4
> ok
> test_get_item (test_mpdstats.MPDStatsTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_run_mpdstats (test_mpdstats.MPDStatsTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_update_rating (test_mpdstats.MPDStatsTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_fields_func (test_ui_commands.FieldsTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_query_album (test_ui_commands.QueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_query_empty (test_ui_commands.QueryTest) ... ok
> test_query_empty_album (test_ui_commands.QueryTest) ... ok
> test_query_item (test_ui_commands.QueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_album_item (test_vfs.VFSTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_singleton_item (test_vfs.VFSTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_convert (test_convert.ConvertCliTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp2xcyhqas/config.yaml
> data directory: /tmp/tmp2xcyhqas
> plugin paths: 
> Sending event: pluginload
> the artist - älbum - tïtle 0
> Convert? (Y/n) [1, 2, 3, 4, 10]
> alt-J - An Awesome Wave - Tessellate
>   itunes_rating: 60 -> 80
>   itunes_playcount: 0
>   itunes_skipcount: 3
>   itunes_lastskipped: 2015-02-05 15:41:04
> alt-J - An Awesome Wave - Breezeblocks
>   itunes_playcount: 31
>   itunes_lastplayed: 2015-05-04 12:20:51
>   itunes_skipcount: 0
>   itunes_rating: 100
> 
> http://open.spotify.com/track/6NPVjNh8Jhru9xOmyQigds
> convert: Encoding /tmp/tmp2xcyhqas/libdir/the artist/älbum/02 tïtle 0.ogg
> convert: Finished encoding /tmp/tmp2xcyhqas/libdir/the artist/älbum/02 tïtle 0.ogg
> Sending event: write
> Sending event: after_write
> Sending event: after_convert
> Sending event: cli_exit
> ok
> test_convert_keep_new (test_convert.ConvertCliTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp9i0xqi1i/config.yaml
> data directory: /tmp/tmp9i0xqi1i
> plugin paths: 
> Sending event: pluginload
> the artist - älbum - tïtle 0
> Convert? (Y/n) convert: Moving to /tmp/tmp9i0xqi1i/convert_dest/converted.ogg
> convert: Encoding /tmp/tmp9i0xqi1i/convert_dest/converted.ogg
> convert: Finished encoding /tmp/tmp9i0xqi1i/convert_dest/converted.ogg
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: after_convert
> Sending event: cli_exit
> ok
> test_convert_with_auto_confirmation (test_convert.ConvertCliTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpgz5gt6dd/config.yaml
> data directory: /tmp/tmpgz5gt6dd
> plugin paths: 
> Sending event: pluginload
> the artist - älbum - tïtle 0
> convert: Encoding /tmp/tmpgz5gt6dd/libdir/the artist/älbum/02 tïtle 0.ogg
> convert: Finished encoding /tmp/tmpgz5gt6dd/libdir/the artist/älbum/02 tïtle 0.ogg
> Sending event: write
> Sending event: after_write
> Sending event: after_convert
> Sending event: cli_exit
> ok
> test_embed_album_art (test_convert.ConvertCliTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpmt_dq7mc/config.yaml
> data directory: /tmp/tmpmt_dq7mc
> plugin paths: 
> Sending event: pluginload
> the artist - älbum - tïtle 0
> Convert? (Y/n) convert: Encoding /tmp/tmpmt_dq7mc/libdir/the artist/älbum/02 tïtle 0.ogg
> convert: Finished encoding /tmp/tmpmt_dq7mc/libdir/the artist/älbum/02 tïtle 0.ogg
> Sending event: write
> Sending event: after_write
> convert: embedding album art from /<<PKGBUILDDIR>>/test/rsrc/image-2x3.jpg
> convert: embedding /<<PKGBUILDDIR>>/test/rsrc/image-2x3.jpg
> Sending event: write
> Sending event: after_write
> Sending event: after_convert
> Sending event: cli_exit
> ok
> test_empty_query (test_convert.ConvertCliTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp_zfol1f3/config.yaml
> data directory: /tmp/tmp_zfol1f3
> plugin paths: 
> Sending event: pluginload
> convert: Empty query result.
> Sending event: cli_exit
> ok
> test_format_option (test_convert.ConvertCliTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp3ksugtt3/config.yaml
> data directory: /tmp/tmp3ksugtt3
> plugin paths: 
> Sending event: pluginload
> the artist - älbum - tïtle 0
> Convert? (Y/n) convert: Encoding /tmp/tmp3ksugtt3/libdir/the artist/älbum/02 tïtle 0.ogg
> convert: Finished encoding /tmp/tmp3ksugtt3/libdir/the artist/älbum/02 tïtle 0.ogg
> Sending event: write
> Sending event: after_write
> Sending event: after_convert
> Sending event: cli_exit
> ok
> test_pretend (test_convert.ConvertCliTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpbc8_lsg_/config.yaml
> data directory: /tmp/tmpbc8_lsg_
> plugin paths: 
> Sending event: pluginload
> convert: /usr/bin/python3.8 /<<PKGBUILDDIR>>/test/rsrc/convert_stub.py /tmp/tmpbc8_lsg_/libdir/the artist/älbum/02 tïtle 0.ogg /tmp/tmpbc8_lsg_/convert_dest/converted.mp3 mp3
> Sending event: cli_exit
> ok
> test_reject_confirmation (test_convert.ConvertCliTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp4j3_7zdt/config.yaml
> data directory: /tmp/tmp4j3_7zdt
> plugin paths: 
> Sending event: pluginload
> the artist - älbum - tïtle 0
> Convert? (Y/n) Sending event: cli_exit
> ok
> test_skip_existing (test_convert.ConvertCliTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpfg6zb851/config.yaml
> data directory: /tmp/tmpfg6zb851
> plugin paths: 
> Sending event: pluginload
> the artist - älbum - tïtle 0
> convert: Skipping /tmp/tmpfg6zb851/libdir/the artist/älbum/02 tïtle 0.ogg (target file exists)
> Sending event: cli_exit
> ok
> test_import_converted (test_convert.ImportConvertTest) ... Sending event: import_begin
> Sending event: import_task_created
> /tmp/tmppg69f6_3/import/album 0
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> convert: Encoding /tmp/tmppg69f6_3/import/album 0/track 0.mp3
> convert: Finished encoding /tmp/tmppg69f6_3/import/album 0/track 0.mp3
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_import_original_on_convert_error (test_convert.ImportConvertTest) ... Sending event: import_begin
> Sending event: import_task_created
> /tmp/tmp2236d26j/import/album 0
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> convert: Encoding /tmp/tmp2236d26j/import/album 0/track 0.mp3
> convert: Encoding /tmp/tmp2236d26j/import/album 0/track 0.mp3 failed. Cleaning up...
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_transcode_from_lossles (test_convert.NeverConvertLossyFilesTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp9lmevko2/config.yaml
> data directory: /tmp/tmp9lmevko2
> plugin paths: 
> Sending event: pluginload
> the artist - älbum 0 - tïtle 0
> Convert? (Y/n) convert: Encoding /tmp/tmp9lmevko2/libdir/the artist/älbum 0/02 tïtle 0.flac
> convert: Finished encoding /tmp/tmp9lmevko2/libdir/the artist/älbum 0/02 tïtle 0.flac
> Sending event: write
> open failed: can't sync to MPEG frame
> error reading /tmp/tmp9lmevko2/convert_dest/converted.mp3: can't sync to MPEG frame
> Sending event: after_convert
> Sending event: cli_exit
> ok
> test_transcode_from_lossy (test_convert.NeverConvertLossyFilesTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp6je9koxo/config.yaml
> data directory: /tmp/tmp6je9koxo
> plugin paths: 
> Sending event: pluginload
> the artist - älbum 0 - tïtle 0
> Convert? (Y/n) convert: Encoding /tmp/tmp6je9koxo/libdir/the artist/älbum 0/02 tïtle 0.ogg
> convert: Finished encoding /tmp/tmp6je9koxo/libdir/the artist/älbum 0/02 tïtle 0.ogg
> Sending event: write
> Sending event: after_write
> Sending event: after_convert
> Sending event: cli_exit
> ok
> test_transcode_from_lossy_prevented (test_convert.NeverConvertLossyFilesTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpbtpffrhb/config.yaml
> data directory: /tmp/tmpbtpffrhb
> plugin paths: 
> Sending event: pluginload
> the artist - älbum 0 - tïtle 0
> Convert? (Y/n) convert: Copying /tmp/tmpbtpffrhb/libdir/the artist/älbum 0/02 tïtle 0.ogg
> Sending event: write
> Sending event: after_write
> Sending event: after_convert
> Sending event: cli_exit
> ok
> test_extended_field_write (test_plugin_mediafield.ExtendedFieldTestMixin) ... ok
> test_invalid_descriptor (test_plugin_mediafield.ExtendedFieldTestMixin) ... ok
> test_overwrite_property (test_plugin_mediafield.ExtendedFieldTestMixin) ... ok
> test_read_flexible_attribute_from_file (test_plugin_mediafield.ExtendedFieldTestMixin) ... ok
> test_write_extended_tag_from_item (test_plugin_mediafield.ExtendedFieldTestMixin) ... Sending event: write
> Sending event: after_write
> ok
> test_function_call (test_template.EvalTest) ... ok
> test_function_call_exception (test_template.EvalTest) ... ok
> test_function_call_with_empty_arg (test_template.EvalTest) ... ok
> test_function_call_with_text (test_template.EvalTest) ... ok
> test_function_returning_integer (test_template.EvalTest) ... ok
> test_nested_function_call (test_template.EvalTest) ... ok
> test_not_subtitute_func_with_no_args (test_template.EvalTest) ... ok
> test_not_subtitute_undefined_func (test_template.EvalTest) ... ok
> test_not_subtitute_undefined_value (test_template.EvalTest) ... ok
> test_plain_text (test_template.EvalTest) ... ok
> test_subtitute_value (test_template.EvalTest) ... ok
> test_subtitute_value_in_text (test_template.EvalTest) ... ok
> test_symbol_in_argument (test_template.EvalTest) ... ok
> test_bare_closer_kept_intact (test_template.ParseTest) ... ok
> test_bare_function_delim_kept_intact (test_template.ParseTest) ... ok
> test_bare_opener_kept_intact (test_template.ParseTest) ... ok
> test_bare_sep_kept_intact (test_template.ParseTest) ... ok
> test_bare_value_delim_kept_intact (test_template.ParseTest) ... ok
> test_call_empty_arg (test_template.ParseTest) ... ok
> test_call_single_arg (test_template.ParseTest) ... ok
> test_call_two_args (test_template.ParseTest) ... ok
> test_call_with_escaped_close (test_template.ParseTest) ... ok
> test_call_with_escaped_sep (test_template.ParseTest) ... ok
> test_call_with_nested_call_argument (test_template.ParseTest) ... ok
> test_call_with_symbol_argument (test_template.ParseTest) ... ok
> test_call_with_unclosed_args (test_template.ParseTest) ... ok
> test_call_with_unclosed_multiple_args (test_template.ParseTest) ... ok
> test_call_without_args (test_template.ParseTest) ... ok
> test_call_without_args_at_end (test_template.ParseTest) ... ok
> test_empty_braces_symbol (test_template.ParseTest) ... ok
> test_empty_string (test_template.ParseTest) ... ok
> test_escaped_character_at_end (test_template.ParseTest) ... ok
> test_escaped_character_at_start (test_template.ParseTest) ... ok
> test_escaped_character_in_text (test_template.ParseTest) ... ok
> test_escaped_character_only (test_template.ParseTest) ... ok
> test_escaped_close_brace (test_template.ParseTest) ... ok
> test_escaped_function_delim (test_template.ParseTest) ... ok
> test_escaped_sep (test_template.ParseTest) ... ok
> test_nested_call_with_argument (test_template.ParseTest) ... ok
> test_newline_at_end (test_template.ParseTest) ... ok
> test_plain_text (test_template.ParseTest) ... ok
> test_sep_before_call_two_args (test_template.ParseTest) ... ok
> test_sep_with_symbols (test_template.ParseTest) ... ok
> test_symbol_alone (test_template.ParseTest) ... ok
> test_symbol_in_text (test_template.ParseTest) ... ok
> test_symbol_with_braces (test_template.ParseTest) ... ok
> test_unclosed_braces_symbol (test_template.ParseTest) ... ok
> test_eq (test_query.AnyFieldQueryTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_no_restriction (test_query.AnyFieldQueryTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_restriction_completeness (test_query.AnyFieldQueryTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_restriction_soundness (test_query.AnyFieldQueryTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_flex_parse_0 (test_query.BoolQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_flex_parse_1 (test_query.BoolQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_flex_parse_any_string (test_query.BoolQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_flex_parse_false (test_query.BoolQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_flex_parse_true (test_query.BoolQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_parse_true (test_query.BoolQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_albums_matches_album (test_query.DefaultSearchFieldsTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_albums_matches_albumartist (test_query.DefaultSearchFieldsTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_items_does_not_match_year (test_query.DefaultSearchFieldsTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_items_matches_title (test_query.DefaultSearchFieldsTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_compilation_false (test_query.GetTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_compilation_true (test_query.GetTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_get_empty (test_query.GetTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_get_no_matches (test_query.GetTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_get_none (test_query.GetTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_get_one_keyed_regexp (test_query.GetTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_get_one_keyed_term (test_query.GetTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_get_one_unkeyed_regexp (test_query.GetTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_get_one_unkeyed_term (test_query.GetTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_invalid_key (test_query.GetTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_invalid_query (test_query.GetTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_item_field_name_matches_nothing_in_album_query (test_query.GetTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_key_case_insensitive (test_query.GetTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_keyed_regexp_matches_only_one_column (test_query.GetTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_keyed_term_matches_only_one_column (test_query.GetTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_mixed_terms_regexps_narrow_search (test_query.GetTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_multiple_regexps_narrow_search (test_query.GetTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_multiple_terms_narrow_search (test_query.GetTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_numeric_search_negative (test_query.GetTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_numeric_search_positive (test_query.GetTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_regexp_case_sensitive (test_query.GetTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_single_year (test_query.GetTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_singleton_false (test_query.GetTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_singleton_true (test_query.GetTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_term_case_insensitive (test_query.GetTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_term_case_insensitive_with_key (test_query.GetTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_unicode_query (test_query.GetTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_unkeyed_regexp_matches_multiple_columns (test_query.GetTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_unkeyed_term_matches_multiple_columns (test_query.GetTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_unknown_field_name_no_results (test_query.GetTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_unknown_field_name_no_results_in_album_query (test_query.GetTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_year_range (test_query.GetTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_exact_value_match (test_query.IntQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_flex_dont_match_missing (test_query.IntQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_flex_range_match (test_query.IntQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_no_substring_match (test_query.IntQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_range_match (test_query.IntQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_bitrate_range_negative (test_query.MatchTest) ... ok
> test_bitrate_range_positive (test_query.MatchTest) ... ok
> test_eq (test_query.MatchTest) ... ok
> test_open_range (test_query.MatchTest) ... ok
> test_regex_match_negative (test_query.MatchTest) ... ok
> test_regex_match_non_string_value (test_query.MatchTest) ... ok
> test_regex_match_positive (test_query.MatchTest) ... ok
> test_substring_match_negative (test_query.MatchTest) ... ok
> test_substring_match_non_string_value (test_query.MatchTest) ... ok
> test_substring_match_positive (test_query.MatchTest) ... ok
> test_year_match_negative (test_query.MatchTest) ... ok
> test_year_match_positive (test_query.MatchTest) ... ok
> test_match_after_set_none (test_query.NoneQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_match_singletons (test_query.NoneQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_bitrate_range_negative (test_query.NotQueryMatchTest) ... ok
> test_bitrate_range_positive (test_query.NotQueryMatchTest) ... ok
> test_open_range (test_query.NotQueryMatchTest) ... ok
> test_regex_match_negative (test_query.NotQueryMatchTest) ... ok
> test_regex_match_non_string_value (test_query.NotQueryMatchTest) ... ok
> test_regex_match_positive (test_query.NotQueryMatchTest) ... ok
> test_substring_match_negative (test_query.NotQueryMatchTest) ... ok
> test_substring_match_non_string_value (test_query.NotQueryMatchTest) ... ok
> test_substring_match_positive (test_query.NotQueryMatchTest) ... ok
> test_year_match_negative (test_query.NotQueryMatchTest) ... ok
> test_year_match_positive (test_query.NotQueryMatchTest) ... ok
> test_fast_vs_slow (test_query.NotQueryTest)
> Test that the results are the same regardless of the `fast` flag ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_get_mixed_terms (test_query.NotQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_get_multiple_terms (test_query.NotQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_get_one_keyed_regexp (test_query.NotQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_get_one_unkeyed_regexp (test_query.NotQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_get_prefixes_keyed (test_query.NotQueryTest)
> Test both negation prefixes on a keyed query. ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_get_prefixes_unkeyed (test_query.NotQueryTest)
> Test both negation prefixes on an unkeyed query. ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_type_and (test_query.NotQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_type_anyfield (test_query.NotQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_type_boolean (test_query.NotQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_type_date (test_query.NotQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_type_false (test_query.NotQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_type_match (test_query.NotQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_type_none (test_query.NotQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_type_numeric (test_query.NotQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_type_or (test_query.NotQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_type_regexp (test_query.NotQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_type_substring (test_query.NotQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_type_true (test_query.NotQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_case_sensitivity (test_query.PathQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_detect_absolute_path (test_query.PathQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_detect_relative_path (test_query.PathQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_escape_backslash (test_query.PathQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_escape_percent (test_query.PathQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_escape_underscore (test_query.PathQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_fragment_no_match (test_query.PathQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_no_match (test_query.PathQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_non_slashed_does_not_match_path (test_query.PathQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_nonnorm_path (test_query.PathQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_parent_directory_no_slash (test_query.PathQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_parent_directory_with_slash (test_query.PathQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_path_album_regex (test_query.PathQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_path_exact_match (test_query.PathQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_path_item_regex (test_query.PathQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_path_query_in_or_query (test_query.PathQueryTest) ... skipped 'unfixed (#1865)'
> test_path_sep_detection (test_query.PathQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_slashed_query_matches_path (test_query.PathQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_slashes_in_explicit_field_does_not_match_path (test_query.PathQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_comp_no_track_artists (test_autotag.AlbumDistanceTest) ... ../beets/autotag/hooks.py:241: DeprecationWarning: PY_SSIZE_T_CLEAN will be required for '#' formats
>   return levenshtein_distance(str1, str2) / float(max(len(str1), len(str2)))
> ok
> test_comp_track_artists_do_not_match (test_autotag.AlbumDistanceTest) ... ok
> test_comp_track_artists_match (test_autotag.AlbumDistanceTest) ... ok
> test_global_artists_differ (test_autotag.AlbumDistanceTest) ... ok
> test_identical_albums (test_autotag.AlbumDistanceTest) ... ok
> test_incomplete_album (test_autotag.AlbumDistanceTest) ... ok
> test_per_medium_track_numbers (test_autotag.AlbumDistanceTest) ... ok
> test_tracks_out_of_order (test_autotag.AlbumDistanceTest) ... ok
> test_two_medium_release (test_autotag.AlbumDistanceTest) ... ok
> test_album_and_track_artists_separate (test_autotag.ApplyCompilationTest) ... ok
> test_mb_albumartistid_applied (test_autotag.ApplyCompilationTest) ... ok
> test_va_flag_cleared_does_not_set_comp (test_autotag.ApplyCompilationTest) ... ok
> test_va_flag_sets_comp (test_autotag.ApplyCompilationTest) ... ok
> test_album_and_artist_applied_to_all (test_autotag.ApplyTest) ... ok
> test_album_artist_overridden_by_nonempty_track_artist (test_autotag.ApplyTest) ... ok
> test_album_artist_overrides_empty_track_artist (test_autotag.ApplyTest) ... ok
> test_albumtype_applied (test_autotag.ApplyTest) ... ok
> test_artist_credit (test_autotag.ApplyTest) ... ok
> test_artist_credit_applied (test_autotag.ApplyTest) ... ok
> test_artist_credit_falls_back_to_albumartist (test_autotag.ApplyTest) ... ok
> test_artist_credit_prefers_artist_over_albumartist_credit (test_autotag.ApplyTest) ... ok
> test_artist_sort_applied (test_autotag.ApplyTest) ... ok
> test_data_source_applied (test_autotag.ApplyTest) ... ok
> test_date_only_zeros_month_and_day (test_autotag.ApplyTest) ... ok
> test_disc_index_applied (test_autotag.ApplyTest) ... ok
> test_disc_total_applied (test_autotag.ApplyTest) ... ok
> test_full_date_applied (test_autotag.ApplyTest) ... ok
> test_mb_albumid_and_artistid_applied (test_autotag.ApplyTest) ... ok
> test_mb_trackid_applied (test_autotag.ApplyTest) ... ok
> test_missing_date_applies_nothing (test_autotag.ApplyTest) ... ok
> test_per_disc_numbering (test_autotag.ApplyTest) ... ok
> test_per_disc_numbering_track_total (test_autotag.ApplyTest) ... ok
> test_titles_applied (test_autotag.ApplyTest) ... ok
> test_track_index_applied (test_autotag.ApplyTest) ... ok
> test_track_total_applied (test_autotag.ApplyTest) ... ok
> test_order_works_when_track_names_are_entirely_wrong (test_autotag.AssignmentTest) ... Computing track assignment...
> ...done.
> ok
> test_order_works_with_extra_tracks (test_autotag.AssignmentTest) ... Computing track assignment...
> ...done.
> ok
> test_order_works_with_invalid_track_numbers (test_autotag.AssignmentTest) ... Computing track assignment...
> ...done.
> ok
> test_order_works_with_missing_tracks (test_autotag.AssignmentTest) ... Computing track assignment...
> ...done.
> ok
> test_reorder_when_track_numbers_incorrect (test_autotag.AssignmentTest) ... Computing track assignment...
> ...done.
> ok
> test_add (test_autotag.DistanceTest) ... ok
> test_add_equality (test_autotag.DistanceTest) ... ok
> test_add_expr (test_autotag.DistanceTest) ... ok
> test_add_number (test_autotag.DistanceTest) ... ok
> test_add_priority (test_autotag.DistanceTest) ... ok
> test_add_ratio (test_autotag.DistanceTest) ... ok
> test_add_string (test_autotag.DistanceTest) ... ok
> test_add_string_both_none (test_autotag.DistanceTest) ... ok
> test_add_string_none (test_autotag.DistanceTest) ... ok
> test_distance (test_autotag.DistanceTest) ... ok
> test_items (test_autotag.DistanceTest) ... ok
> test_max_distance (test_autotag.DistanceTest) ... ok
> test_operators (test_autotag.DistanceTest) ... ok
> test_raw_distance (test_autotag.DistanceTest) ... ok
> test_update (test_autotag.DistanceTest) ... ok
> test_ordered_enum (test_autotag.EnumTest) ... ok
> test_albumartist_consensus (test_autotag.PluralityTest) ... ok
> test_current_metadata_artist_consensus (test_autotag.PluralityTest) ... ok
> test_current_metadata_finds_pluralities (test_autotag.PluralityTest) ... ok
> test_current_metadata_likelies (test_autotag.PluralityTest) ... ok
> test_plurality_conflict (test_autotag.PluralityTest) ... ok
> test_plurality_consensus (test_autotag.PluralityTest) ... ok
> test_plurality_empty_sequence_raises_error (test_autotag.PluralityTest) ... ok
> test_plurality_near_consensus (test_autotag.PluralityTest) ... ok
> test_accented_characters (test_autotag.StringDistanceTest) ... ok
> test_ampersand_expansion (test_autotag.StringDistanceTest) ... ok
> test_brackets_have_lower_weight (test_autotag.StringDistanceTest) ... ok
> test_case_ignored (test_autotag.StringDistanceTest) ... ok
> test_different_strings (test_autotag.StringDistanceTest) ... ok
> test_empty_strings (test_autotag.StringDistanceTest) ... ok
> test_ep_label_has_zero_weight (test_autotag.StringDistanceTest) ... ok
> test_equal_strings (test_autotag.StringDistanceTest) ... ok
> test_featured_has_lower_weight (test_autotag.StringDistanceTest) ... ok
> test_heuristic_does_not_harm_distance (test_autotag.StringDistanceTest) ... ok
> test_leading_the_has_lower_weight (test_autotag.StringDistanceTest) ... ok
> test_parens_have_lower_weight (test_autotag.StringDistanceTest) ... ok
> test_postfix_a (test_autotag.StringDistanceTest) ... ok
> test_postfix_an (test_autotag.StringDistanceTest) ... ok
> test_postfix_the (test_autotag.StringDistanceTest) ... ok
> test_punctuation_ignored (test_autotag.StringDistanceTest) ... ok
> test_solo_pattern (test_autotag.StringDistanceTest) ... ok
> test_different_artist (test_autotag.TrackDistanceTest) ... ok
> test_different_title (test_autotag.TrackDistanceTest) ... ok
> test_identical_tracks (test_autotag.TrackDistanceTest) ... ok
> test_various_artists_tolerated (test_autotag.TrackDistanceTest) ... ok
> test_splupdate (test_smartplaylist.SmartPlaylistCLITest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp6m6e6rwb/config.yaml
> data directory: /tmp/tmp6m6e6rwb
> plugin paths: 
> Sending event: pluginload
> no user configuration found at /tmp/tmp6m6e6rwb/config.yaml
> data directory: /tmp/tmp6m6e6rwb
> plugin paths: 
> Sending event: pluginload
> smartplaylist: Updating 1 smart playlists...
> smartplaylist: Creating playlist my_playlist.m3u
> smartplaylist: 1 playlists updated
> Sending event: cli_exit
> no user configuration found at /tmp/tmp6m6e6rwb/config.yaml
> data directory: /tmp/tmp6m6e6rwb
> plugin paths: 
> Sending event: pluginload
> smartplaylist: Updating 1 smart playlists...
> smartplaylist: Creating playlist my_playlist.m3u
> smartplaylist: 1 playlists updated
> Sending event: cli_exit
> no user configuration found at /tmp/tmp6m6e6rwb/config.yaml
> data directory: /tmp/tmp6m6e6rwb
> plugin paths: 
> Sending event: pluginload
> smartplaylist: Updating 2 smart playlists...
> smartplaylist: Creating playlist all.m3u
> smartplaylist: Creating playlist my_playlist.m3u
> smartplaylist: 2 playlists updated
> Sending event: cli_exit
> ok
> test_build_queries (test_smartplaylist.SmartPlaylistTest) ... ok
> test_build_queries_with_sorts (test_smartplaylist.SmartPlaylistTest) ... ok
> test_db_changes (test_smartplaylist.SmartPlaylistTest) ... smartplaylist: 3 will be updated because of matches 3
> smartplaylist: 1 will be updated because of matches 3
> ok
> test_matches (test_smartplaylist.SmartPlaylistTest) ... ok
> test_playlist_update (test_smartplaylist.SmartPlaylistTest) ... smartplaylist: Updating 1 smart playlists...
> smartplaylist: Creating playlist $title-my<playlist>.m3u
> smartplaylist: 1 playlists updated
> ok
> test_collect_item_and_path (test_info.InfoTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> no user configuration found at /tmp/tmpta7di3po/config.yaml
> data directory: /tmp/tmpta7di3po
> plugin paths: 
> Sending event: pluginload
> Sending event: cli_exit
> ok
> test_custom_format (test_info.InfoTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpyiksiyub/config.yaml
> data directory: /tmp/tmpyiksiyub
> plugin paths: 
> Sending event: pluginload
> Sending event: cli_exit
> ok
> test_include_pattern (test_info.InfoTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpm0uqmej7/config.yaml
> data directory: /tmp/tmpm0uqmej7
> plugin paths: 
> Sending event: pluginload
> Sending event: cli_exit
> ok
> test_item_library_query (test_info.InfoTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp84eqomq9/config.yaml
> data directory: /tmp/tmp84eqomq9
> plugin paths: 
> Sending event: pluginload
> Sending event: cli_exit
> ok
> test_item_query (test_info.InfoTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> no user configuration found at /tmp/tmpmh7w3pxo/config.yaml
> data directory: /tmp/tmpmh7w3pxo
> plugin paths: 
> Sending event: pluginload
> Sending event: cli_exit
> ok
> test_path (test_info.InfoTest) ... no user configuration found at /tmp/tmpmgpsnfh9/config.yaml
> data directory: /tmp/tmpmgpsnfh9
> plugin paths: 
> Sending event: pluginload
> Sending event: cli_exit
> ok
> test_filesystem_does_not_pick_up_folder (test_fetchart.FetchartCliTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpszdtigrq/config.yaml
> data directory: /tmp/tmpszdtigrq
> plugin paths: 
> Sending event: pluginload
> fetchart: trying source filesystem for album  - the älbum
> fetchart: trying source coverart for album  - the älbum
> fetchart: trying source coverart for album  - the älbum
> fetchart: trying source itunes for album  - the älbum
> fetchart: trying source amazon for album  - the älbum
> fetchart: trying source albumart for album  - the älbum
> fetchart:  - the älbum: no art found
> Sending event: cli_exit
> ok
> test_filesystem_does_not_pick_up_hidden_file (test_fetchart.FetchartCliTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpay_5rjuv/config.yaml
> data directory: /tmp/tmpay_5rjuv
> plugin paths: 
> Sending event: pluginload
> fetchart: trying source filesystem for album  - the älbum
> fetchart: trying source coverart for album  - the älbum
> fetchart: trying source coverart for album  - the älbum
> fetchart: trying source itunes for album  - the älbum
> fetchart: trying source amazon for album  - the älbum
> fetchart: trying source albumart for album  - the älbum
> fetchart:  - the älbum: no art found
> Sending event: cli_exit
> ok
> test_filesystem_does_not_pick_up_ignored_file (test_fetchart.FetchartCliTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpt94lzch_/config.yaml
> data directory: /tmp/tmpt94lzch_
> plugin paths: 
> Sending event: pluginload
> fetchart: trying source filesystem for album  - the älbum
> fetchart: trying source coverart for album  - the älbum
> fetchart: trying source coverart for album  - the älbum
> fetchart: trying source itunes for album  - the älbum
> fetchart: trying source amazon for album  - the älbum
> fetchart: trying source albumart for album  - the älbum
> fetchart:  - the älbum: no art found
> Sending event: cli_exit
> ok
> test_filesystem_picks_up_hidden_file (test_fetchart.FetchartCliTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp59w8gvvj/config.yaml
> data directory: /tmp/tmp59w8gvvj
> plugin paths: 
> Sending event: pluginload
> fetchart: trying source filesystem for album  - the älbum
> fetchart: using well-named art file .cover.jpg
> fetchart: using local image /tmp/tmp59w8gvvj/libdir/the ärtist/the älbum/.cover.jpg
> Sending event: art_set
> Sending event: database_change
> fetchart:  - the älbum: found album art
> Sending event: cli_exit
> ok
> test_filesystem_picks_up_non_hidden_file (test_fetchart.FetchartCliTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpbcluj4m2/config.yaml
> data directory: /tmp/tmpbcluj4m2
> plugin paths: 
> Sending event: pluginload
> fetchart: trying source filesystem for album  - the älbum
> fetchart: using well-named art file cover.jpg
> fetchart: using local image /tmp/tmpbcluj4m2/libdir/the ärtist/the älbum/cover.jpg
> Sending event: art_set
> Sending event: database_change
> fetchart:  - the älbum: found album art
> Sending event: cli_exit
> ok
> test_filesystem_picks_up_non_ignored_file (test_fetchart.FetchartCliTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmppjutwiie/config.yaml
> data directory: /tmp/tmppjutwiie
> plugin paths: 
> Sending event: pluginload
> fetchart: trying source filesystem for album  - the älbum
> fetchart: using well-named art file cover.jpg
> fetchart: using local image /tmp/tmppjutwiie/libdir/the ärtist/the älbum/cover.jpg
> Sending event: art_set
> Sending event: database_change
> fetchart:  - the älbum: found album art
> Sending event: cli_exit
> ok
> test_set_art_from_folder (test_fetchart.FetchartCliTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmphzbzkyrt/config.yaml
> data directory: /tmp/tmphzbzkyrt
> plugin paths: 
> Sending event: pluginload
> fetchart: trying source filesystem for album  - the älbum
> fetchart: using fallback art file cöver.jpg
> fetchart: using local image /tmp/tmphzbzkyrt/libdir/the ärtist/the älbum/cöver.jpg
> Sending event: art_set
> Sending event: database_change
> fetchart:  - the älbum: found album art
> Sending event: cli_exit
> ok
> test_equal_permutation (test_random.RandomTest)
> We have a list of items where only one item is from artist1 and the ... ok
> test_c14n_only (test_lastgenre.LastGenrePluginTest)
> Default c14n tree funnels up to most common genre except for *wrong* ... lastgenre: Loading canonicalization tree /<<PKGBUILDDIR>>/beetsplug/lastgenre/genres-tree.yaml
> ok
> test_c14n_whitelist (test_lastgenre.LastGenrePluginTest)
> Genres first pass through c14n and are then filtered ... lastgenre: Loading canonicalization tree /<<PKGBUILDDIR>>/beetsplug/lastgenre/genres-tree.yaml
> ok
> test_count (test_lastgenre.LastGenrePluginTest)
> Keep the n first genres, as we expect them to be sorted from more to ... ok
> test_count_c14n (test_lastgenre.LastGenrePluginTest)
> Keep the n first genres, after having applied c14n when necessary ... lastgenre: Loading canonicalization tree /<<PKGBUILDDIR>>/beetsplug/lastgenre/genres-tree.yaml
> ok
> test_default (test_lastgenre.LastGenrePluginTest)
> Fetch genres with whitelist and c14n deactivated ... ok
> test_empty_string_enables_canonical (test_lastgenre.LastGenrePluginTest)
> For backwards compatibility, setting the `canonical` option ... lastgenre: Loading canonicalization tree /<<PKGBUILDDIR>>/beetsplug/lastgenre/genres-tree.yaml
> ok
> test_empty_string_enables_whitelist (test_lastgenre.LastGenrePluginTest)
> Again for backwards compatibility, setting the `whitelist` ... ok
> test_get_genre (test_lastgenre.LastGenrePluginTest) ... ok
> test_no_duplicate (test_lastgenre.LastGenrePluginTest)
> Remove duplicated genres. ... ok
> test_prefer_specific_loads_tree (test_lastgenre.LastGenrePluginTest)
> When prefer_specific is enabled but canonical is not the ... lastgenre: Loading canonicalization tree /<<PKGBUILDDIR>>/beetsplug/lastgenre/genres-tree.yaml
> ok
> test_prefer_specific_without_canonical (test_lastgenre.LastGenrePluginTest)
> Prefer_specific works without canonical. ... lastgenre: Loading canonicalization tree /<<PKGBUILDDIR>>/beetsplug/lastgenre/genres-tree.yaml
> ok
> test_sort_by_depth (test_lastgenre.LastGenrePluginTest) ... lastgenre: Loading canonicalization tree /<<PKGBUILDDIR>>/beetsplug/lastgenre/genres-tree.yaml
> ok
> test_tags_for (test_lastgenre.LastGenrePluginTest) ... ok
> test_whitelist_c14n (test_lastgenre.LastGenrePluginTest)
> Default whitelist and c14n both activated result in all parents ... lastgenre: Loading canonicalization tree /<<PKGBUILDDIR>>/beetsplug/lastgenre/genres-tree.yaml
> ok
> test_whitelist_custom (test_lastgenre.LastGenrePluginTest)
> Keep only genres that are in the whitelist. ... lastgenre: Loading canonicalization tree /<<PKGBUILDDIR>>/beetsplug/lastgenre/genres-tree.yaml
> ok
> test_whitelist_only (test_lastgenre.LastGenrePluginTest)
> Default whitelist rejects *wrong* (non existing) genres. ... ok
> test_alias (test_mb.ArtistFlatteningTest) ... ok
> test_single_artist (test_mb.ArtistFlatteningTest) ... ok
> test_two_artists (test_mb.ArtistFlatteningTest) ... ok
> test_data_source (test_mb.MBAlbumInfoTest) ... ok
> test_detect_various_artists (test_mb.MBAlbumInfoTest) ... ok
> test_ignored_media (test_mb.MBAlbumInfoTest) ... ok
> test_missing_language (test_mb.MBAlbumInfoTest) ... ok
> test_no_durations (test_mb.MBAlbumInfoTest) ... ok
> test_no_ignored_media (test_mb.MBAlbumInfoTest) ... ok
> test_no_release_date (test_mb.MBAlbumInfoTest) ... ok
> test_no_skip_audio_data_tracks_if_configured (test_mb.MBAlbumInfoTest) ... ok
> test_no_skip_video_data_tracks_if_configured (test_mb.MBAlbumInfoTest) ... ok
> test_no_skip_video_tracks_if_configured (test_mb.MBAlbumInfoTest) ... ok
> test_parse_artist_sort_name (test_mb.MBAlbumInfoTest) ... ok
> test_parse_asin (test_mb.MBAlbumInfoTest) ... ok
> test_parse_catalognum (test_mb.MBAlbumInfoTest) ... ok
> test_parse_country (test_mb.MBAlbumInfoTest) ... ok
> test_parse_disambig (test_mb.MBAlbumInfoTest) ... ok
> test_parse_disctitle (test_mb.MBAlbumInfoTest) ... ok
> test_parse_media (test_mb.MBAlbumInfoTest) ... ok
> test_parse_medium_numbers_single_medium (test_mb.MBAlbumInfoTest) ... ok
> test_parse_medium_numbers_two_mediums (test_mb.MBAlbumInfoTest) ... ok
> test_parse_recording_artist (test_mb.MBAlbumInfoTest) ... ok
> test_parse_release_full_date (test_mb.MBAlbumInfoTest) ... ok
> test_parse_release_type (test_mb.MBAlbumInfoTest) ... ok
> test_parse_release_with_year (test_mb.MBAlbumInfoTest) ... ok
> test_parse_release_year_month_only (test_mb.MBAlbumInfoTest) ... ok
> test_parse_releasegroupid (test_mb.MBAlbumInfoTest) ... ok
> test_parse_status (test_mb.MBAlbumInfoTest) ... ok
> test_parse_textrepr (test_mb.MBAlbumInfoTest) ... ok
> test_parse_track_indices (test_mb.MBAlbumInfoTest) ... ok
> test_parse_tracks (test_mb.MBAlbumInfoTest) ... ok
> test_skip_audio_data_tracks_by_default (test_mb.MBAlbumInfoTest) ... ok
> test_skip_data_track (test_mb.MBAlbumInfoTest) ... ok
> test_skip_video_data_tracks_by_default (test_mb.MBAlbumInfoTest) ... ok
> test_skip_video_tracks_by_default (test_mb.MBAlbumInfoTest) ... ok
> test_track_artist_overrides_recording_artist (test_mb.MBAlbumInfoTest) ... ok
> test_track_length_overrides_recording_length (test_mb.MBAlbumInfoTest) ... ok
> test_various_artists_defaults_false (test_mb.MBAlbumInfoTest) ... ok
> test_match_album (test_mb.MBLibraryTest) ... Searching for MusicBrainz releases with: {'release': 'there', 'artist': 'hello'}
> Requesting MusicBrainz release d2a6f856-b553-40a0-ac54-a321e8e2da99
> ok
> test_match_album_empty (test_mb.MBLibraryTest) ... ok
> test_match_track (test_mb.MBLibraryTest) ... ok
> test_match_track_empty (test_mb.MBLibraryTest) ... ok
> test_parse_id_correct (test_mb.ParseIDTest) ... ok
> test_parse_id_non_id_returns_none (test_mb.ParseIDTest) ... ok
> test_parse_id_url_finds_id (test_mb.ParseIDTest) ... ok
> test_base (test_ui.CommonOptionsParserCliTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp2saicjeh/config.yaml
> data directory: /tmp/tmp2saicjeh
> plugin paths: 
> Sending event: pluginload
> Sending event: cli_exit
> no user configuration found at /tmp/tmp2saicjeh/config.yaml
> data directory: /tmp/tmp2saicjeh
> plugin paths: 
> Sending event: pluginload
> Sending event: cli_exit
> ok
> test_format_option (test_ui.CommonOptionsParserCliTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp3onrt8fz/config.yaml
> data directory: /tmp/tmp3onrt8fz
> plugin paths: 
> Sending event: pluginload
> Sending event: cli_exit
> no user configuration found at /tmp/tmp3onrt8fz/config.yaml
> data directory: /tmp/tmp3onrt8fz
> plugin paths: 
> Sending event: pluginload
> Sending event: cli_exit
> ok
> test_format_option_unicode (test_ui.CommonOptionsParserCliTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp8o1r05uq/config.yaml
> data directory: /tmp/tmp8o1r05uq
> plugin paths: 
> Sending event: pluginload
> Sending event: cli_exit
> ok
> test_help (test_ui.CommonOptionsParserCliTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpv5cxuj4h/config.yaml
> data directory: /tmp/tmpv5cxuj4h
> plugin paths: 
> Sending event: pluginload
> Sending event: cli_exit
> no user configuration found at /tmp/tmpv5cxuj4h/config.yaml
> data directory: /tmp/tmpv5cxuj4h
> plugin paths: 
> Sending event: pluginload
> Sending event: cli_exit
> no user configuration found at /tmp/tmpv5cxuj4h/config.yaml
> data directory: /tmp/tmpv5cxuj4h
> plugin paths: 
> Sending event: pluginload
> ok
> test_path_option (test_ui.CommonOptionsParserCliTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp96jmltxz/config.yaml
> data directory: /tmp/tmp96jmltxz
> plugin paths: 
> Sending event: pluginload
> Sending event: cli_exit
> no user configuration found at /tmp/tmp96jmltxz/config.yaml
> data directory: /tmp/tmp96jmltxz
> plugin paths: 
> Sending event: pluginload
> Sending event: cli_exit
> ok
> test_root_format_option (test_ui.CommonOptionsParserCliTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpp18a_64p/config.yaml
> data directory: /tmp/tmpp18a_64p
> plugin paths: 
> Sending event: pluginload
> Sending event: cli_exit
> no user configuration found at /tmp/tmpp18a_64p/config.yaml
> data directory: /tmp/tmpp18a_64p
> plugin paths: 
> Sending event: pluginload
> Sending event: cli_exit
> ok
> test_stats (test_ui.CommonOptionsParserCliTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpfn_5hqog/config.yaml
> data directory: /tmp/tmpfn_5hqog
> plugin paths: 
> Sending event: pluginload
> Sending event: cli_exit
> ok
> test_version (test_ui.CommonOptionsParserCliTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmprn4uvohc/config.yaml
> data directory: /tmp/tmprn4uvohc
> plugin paths: 
> Sending event: pluginload
> Sending event: cli_exit
> ok
> test_add_all_common_options (test_ui.CommonOptionsParserTest) ... ok
> test_album_option (test_ui.CommonOptionsParserTest) ... ok
> test_format_option (test_ui.CommonOptionsParserTest) ... ok
> test_format_option_with_album (test_ui.CommonOptionsParserTest) ... ok
> test_format_option_with_target (test_ui.CommonOptionsParserTest) ... ok
> test_path_option (test_ui.CommonOptionsParserTest) ... ok
> test_completion (test_ui.CompletionTest) ... /usr/lib/python3.8/subprocess.py:942: ResourceWarning: subprocess 20963 is still running
>   _warn("subprocess %s is still running" % self.pid,
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> skipped 'bash-completion script not found'
> test_beetsdir_config (test_ui.ConfigTest) ... ok
> test_beetsdir_config_does_not_load_default_user_config (test_ui.ConfigTest) ... ok
> test_beetsdir_config_paths_resolve_relative_to_beetsdir (test_ui.ConfigTest) ... ok
> test_beetsdir_points_to_file_error (test_ui.ConfigTest) ... ok
> test_cli_config_file_loads_plugin_commands (test_ui.ConfigTest) ... ok
> test_cli_config_file_overwrites_beetsdir_defaults (test_ui.ConfigTest) ... ok
> test_cli_config_file_overwrites_user_defaults (test_ui.ConfigTest) ... ok
> test_cli_config_option (test_ui.ConfigTest) ... ok
> test_cli_config_paths_resolve_relative_to_beetsdir (test_ui.ConfigTest) ... ok
> test_cli_config_paths_resolve_relative_to_user_dir (test_ui.ConfigTest) ... ok
> test_command_line_option_relative_to_working_dir (test_ui.ConfigTest) ... skipped 'Broken'
> test_default_config_paths_resolve_relative_to_beetsdir (test_ui.ConfigTest) ... ok
> test_default_paths_preserved (test_ui.ConfigTest) ... ok
> test_multiple_replacements_parsed (test_ui.ConfigTest) ... ok
> test_nonexistant_db (test_ui.ConfigTest) ... ok
> test_paths_section_respected (test_ui.ConfigTest) ... ok
> test_replacements_parsed (test_ui.ConfigTest) ... ok
> test_user_config_file (test_ui.ConfigTest) ... ok
> test_quiet_timid_disallowed (test_ui.ImportTest) ... ok
> test_list_album_format (test_ui.ListTest) ... ok
> test_list_album_omits_title (test_ui.ListTest) ... ok
> test_list_album_outputs_something (test_ui.ListTest) ... ok
> test_list_album_path (test_ui.ListTest) ... ok
> test_list_album_uses_album_artist (test_ui.ListTest) ... ok
> test_list_item_format_artist (test_ui.ListTest) ... ok
> test_list_item_format_multiple (test_ui.ListTest) ... ok
> test_list_item_path (test_ui.ListTest) ... ok
> test_list_outputs_item (test_ui.ListTest) ... ok
> test_list_unicode_query (test_ui.ListTest) ... ok
> test_list_uses_track_artist (test_ui.ListTest) ... ok
> test_album_move (test_ui.ModifyTest) ... no user configuration found at /tmp/tmppeg5eao1/config.yaml
> data directory: /tmp/tmppeg5eao1
> plugin paths: 
> Sending event: pluginload
> Modifying 1 albums.
> the album artist - älbum
>   album: älbum -> newAlbum
> Really modify, move and write tags? (Yes/no/select) 
> 
> 
> 
>             album: AAA
>       albumartist: the album artist
>          arranger: [various]
>               art: False
>            artist: the artist
>          bitdepth: 0
>           bitrate: 80000
>               bpm: 6
>          channels: 1
>          comments: the comments
>              comp: True
>          composer: the composer
>              date: 2001-01-01
>              disc: 4
>         disctotal: 5
>           encoder: iTunes v7.6.2
>            format: MP3
>             genre: the genre
>            genres: the genre
>          grouping: the grouping
>             label: the label
>            length: 1.071
>            lyrics: the lyrics
>        mb_albumid: 9e873859-8aa4-4790-b985-5a953e8ef628
>       mb_artistid: 7cf0ea9d-86b9-4dad-ba9e-2355a64899ea
> mb_releasetrackid: c29f3a57-b439-46fd-a2e2-93776b1371e0
>        mb_trackid: 8b882575-08a5-4452-a7a7-cbb8a1531f9e
>     original_year: [various]
>     rg_track_gain: 0.0
>     rg_track_peak: 0.000244
>        samplerate: 44100
>             title: [various]
>             track: 2
>        tracktotal: 5
>              year: 2001
> 
> 02. tïtle 0 - the artist (0:01)
> 
> /tmp/tmpm0uqmej7/libdir/the artist/älbum 0/02 tïtle 0.mp3
>              album: xxxx
>           album_id: 
>        albumartist: the album artist
> albumartist_credit: 
>   albumartist_sort: 
>      albumdisambig: 
>        albumstatus: 
>          albumtype: 
>   mb_albumartistid: 
>         mb_albumid: 9e873859-8aa4-4790-b985-5a953e8ef628
>    r128_album_gain: 000000
>      rg_album_gain: 0.0
>      rg_album_peak: 0.0
> 
> /tmp/tmp84eqomq9/libdir/the artist/älbum 0/02 tïtle 0.mp3
> acoustid_fingerprint: 
>          acoustid_id: 
>                added: 2020-08-02 17:23:08
>                album: xxxx
>             album_id: 
>          albumartist: the album artist
>   albumartist_credit: 
>     albumartist_sort: 
>        albumdisambig: 
>          albumstatus: 
>            albumtype: 
>             arranger: 
>               artist: the artist
>        artist_credit: 
>          artist_sort: 
>                 asin: 
>             bitdepth: 0
>              bitrate: 80kbps
>                  bpm: 6
>           catalognum: 
>             channels: 1
>             comments: the comments
>                 comp: True
>             composer: the composer
>        composer_sort: 
>              country: 
>                  day: 00
>                 disc: 04
>            disctitle: 
>            disctotal: 05
>              encoder: iTunes v7.6.2
>             filesize: 12820
>               format: MP3
>                genre: the genre
>             grouping: the grouping
>                   id: 1
>          initial_key: 
>                label: the label
>             language: 
>               length: 0:01
>             lyricist: 
>               lyrics: the lyrics
>     mb_albumartistid: 
>           mb_albumid: 9e873859-8aa4-4790-b985-5a953e8ef628
>          mb_artistid: 7cf0ea9d-86b9-4dad-ba9e-2355a64899ea
>    mb_releasegroupid: 
>    mb_releasetrackid: c29f3a57-b439-46fd-a2e2-93776b1371e0
>           mb_trackid: 8b882575-08a5-4452-a7a7-cbb8a1531f9e
>                media: 
>                month: 00
>                mtime: 1970-01-01 00:00:00
>         original_day: 00
>       original_month: 00
>        original_year: 0000
>      r128_album_gain: 000000
>      r128_track_gain: 000000
> releasegroupdisambig: 
>        rg_album_gain: 0.0
>        rg_album_peak: 0.0
>        rg_track_gain: 0.0
>        rg_track_peak: 0.0
>           samplerate: 44kHz
>               script: 
>            singleton: True
>                title: tïtle 0
>                track: 02
>           tracktotal: 03
>                 year: 2001
> 
> /tmp/tmpmh7w3pxo/libdir/the artist/älbum 0/02 tïtle 0.mp3
>             album: xxxx
>       albumartist: the album artist
>          arranger: 
>               art: False
>            artist: the artist
>          bitdepth: 0
>           bitrate: 80000
>               bpm: 6
>          channels: 1
>          comments: the comments
>              comp: True
>          composer: the composer
>              date: 2001-01-01
>              disc: 4
>         disctotal: 5
>           encoder: iTunes v7.6.2
>            format: MP3
>             genre: the genre
>            genres: the genre
>          grouping: the grouping
>             label: the label
>            length: 1.071
>            lyrics: the lyrics
>        mb_albumid: 9e873859-8aa4-4790-b985-5a953e8ef628
>       mb_artistid: 7cf0ea9d-86b9-4dad-ba9e-2355a64899ea
> mb_releasetrackid: c29f3a57-b439-46fd-a2e2-93776b1371e0
>        mb_trackid: 8b882575-08a5-4452-a7a7-cbb8a1531f9e
>     original_year: 0
>     rg_track_gain: 0.0
>     rg_track_peak: 0.000244
>        samplerate: 44100
>             title: tïtle 0
>             track: 2
>        tracktotal: 3
>              year: 2001
> 
> /tmp/tmpjh9vf2a0
>             album: the album
>       albumartist: AAA
>               art: False
>            artist: the artist
>          bitdepth: 0
>           bitrate: 80000
>               bpm: 6
>          channels: 1
>          comments: the comments
>              comp: True
>              date: 2001-01-01
>              disc: 4
>         disctitle: DDD
>         disctotal: 5
>           encoder: iTunes v7.6.2
>            format: MP3
>             genre: a
>            genres: a; b; c
>          grouping: the grouping
>             label: the label
>            length: 1.071
>            lyrics: the lyrics
>        mb_albumid: 9e873859-8aa4-4790-b985-5a953e8ef628
>       mb_artistid: 7cf0ea9d-86b9-4dad-ba9e-2355a64899ea
> mb_releasetrackid: c29f3a57-b439-46fd-a2e2-93776b1371e0
>        mb_trackid: 8b882575-08a5-4452-a7a7-cbb8a1531f9e
>     rg_track_gain: 0.0
>     rg_track_peak: 0.000244
>        samplerate: 44100
>             title: full
>             track: 2
>        tracktotal: 3
>              year: 2001
> 
> the artist - the album - the title
> 
> the album artist - the album
> 
> the artist
> 
> the album artist
> 
> café
> 
> Usage: 
>   beet COMMAND [ARGS...]
>   beet help COMMAND
> 
> Options:
>   --format-item=FORMAT_ITEM
>                         print with custom format
>   --format-album=FORMAT_ALBUM
>                         print with custom format
>   -l LIBRARY, --library=LIBRARY
>                         library database file to use
>   -d DIRECTORY, --directory=DIRECTORY
>                         destination music directory
>   -v, --verbose         log more details (use twice for even more)
>   -c CONFIG, --config=CONFIG
>                         path to configuration file
>   -h, --help            show this help message and exit
> 
> Commands:
>   config            show or edit the user configuration
>   fields            show fields available for queries and format strings
>   help (?)          give detailed help on a specific sub-command
>   import (imp, im)  import new music
>   list (ls)         query the library
>   modify (mod)      change metadata fields
>   move (mv)         move or copy items
>   remove (rm)       remove matching items from the library
>   stats             show statistics about the library or a query
>   update (upd, up)  update the library
>   version           output version information
>   write             write tag information to files
> 
> Usage: beet list [options]
> Example: beet list -f '$album: $title' artist:beatles
> 
> Options:
>   -h, --help            show this help message and exit
>   -a, --album           match albums instead of tracks
>   -p PATH, --path=PATH  print paths for matched items or albums
>   -f FORMAT, --format=FORMAT
>                         print with custom format
> 
> xxx/yyy
> 
> xxx
> 
> the artist
> 
> the album artist
> 
> Tracks: 1
> Total time: 1.0 minutes
> Approximate total size: 937.5 KiB
> Artists: 1
> Albums: 1
> Album artists: 1
> 
> beets version 1.4.9
> Python version 3.8.5
> no plugins loaded
> 
> the genre
> 
> the album artist - the album
> 
> the album artist - the album
> 
> xxx
> 
> the album artist - the album
> 
> the artist
> 
> the artist - the album - 0001
> 
> xxx/yyy
> 
> the artist - the album - the title
> 
> the artist - the album - naïve
> 
> the artist - the album - the title
> 
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> moving /tmp/tmppeg5eao1/libdir/the artist/älbum/02 tïtle 0.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: cli_exit
> ok
> test_album_not_move (test_ui.ModifyTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp_q3u_vt6/config.yaml
> data directory: /tmp/tmp_q3u_vt6
> plugin paths: 
> Sending event: pluginload
> Modifying 1 albums.
> the album artist - älbum
>   album: älbum -> newAlbum
> Really modify and write tags? (Yes/no/select) 
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: cli_exit
> ok
> test_arg_parsing_colon_query (test_ui.ModifyTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_arg_parsing_delete (test_ui.ModifyTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_arg_parsing_equals_in_value (test_ui.ModifyTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_arg_parsing_query_with_exclaimation (test_ui.ModifyTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_delete_initial_key_tag (test_ui.ModifyTest) ... skipped 'not yet implemented'
> test_modify_album (test_ui.ModifyTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpy8yhr7qo/config.yaml
> data directory: /tmp/tmpy8yhr7qo
> plugin paths: 
> Sending event: pluginload
> Modifying 1 albums.
> the album artist - älbum
>   album: älbum -> newAlbum
> Really modify, move and write tags? (Yes/no/select) 
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> moving /tmp/tmpy8yhr7qo/libdir/the artist/älbum/02 tïtle 0.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: cli_exit
> ok
> test_modify_album_dont_write_tags (test_ui.ModifyTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpek4ryshu/config.yaml
> data directory: /tmp/tmpek4ryshu
> plugin paths: 
> Sending event: pluginload
> Modifying 1 albums.
> the album artist - älbum
>   album: älbum -> newAlbum
> Really modify and move? (Yes/no/select) 
> Sending event: database_change
> Sending event: database_change
> moving /tmp/tmpek4ryshu/libdir/the artist/älbum/02 tïtle 0.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: cli_exit
> ok
> test_modify_album_write_tags (test_ui.ModifyTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp3wishz7j/config.yaml
> data directory: /tmp/tmp3wishz7j
> plugin paths: 
> Sending event: pluginload
> Modifying 1 albums.
> the album artist - älbum
>   album: älbum -> newAlbum
> Really modify, move and write tags? (Yes/no/select) 
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> moving /tmp/tmp3wishz7j/libdir/the artist/älbum/02 tïtle 0.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: cli_exit
> ok
> test_modify_dont_write_tags (test_ui.ModifyTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpnfa_dtaz/config.yaml
> data directory: /tmp/tmpnfa_dtaz
> plugin paths: 
> Sending event: pluginload
> Modifying 1 items.
> the artist - älbum - tïtle 0
>   title: tïtle 0 -> newTitle
> Really modify and move? (Yes/no/select) 
> moving /tmp/tmpnfa_dtaz/libdir/the artist/älbum/02 tïtle 0.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: cli_exit
> ok
> test_modify_item (test_ui.ModifyTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpahj3r3aa/config.yaml
> data directory: /tmp/tmpahj3r3aa
> plugin paths: 
> Sending event: pluginload
> Modifying 1 items.
> the artist - älbum - tïtle 0
>   title: tïtle 0 -> newTitle
> Really modify, move and write tags? (Yes/no/select) 
> Sending event: write
> Sending event: after_write
> moving /tmp/tmpahj3r3aa/libdir/the artist/älbum/02 tïtle 0.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: cli_exit
> ok
> test_modify_item_abort (test_ui.ModifyTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmprc855ok_/config.yaml
> data directory: /tmp/tmprc855ok_
> plugin paths: 
> Sending event: pluginload
> Modifying 1 items.
> the artist - älbum - tïtle 0
>   title: tïtle 0 -> newTitle
> Really modify, move and write tags? (Yes/no/select) 
> Sending event: cli_exit
> ok
> test_modify_item_no_change (test_ui.ModifyTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpxajwyv5o/config.yaml
> data directory: /tmp/tmpxajwyv5o
> plugin paths: 
> Sending event: pluginload
> Modifying 1 items.
> No changes to make.
> Sending event: cli_exit
> ok
> test_modify_write_tags (test_ui.ModifyTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpm833xo33/config.yaml
> data directory: /tmp/tmpm833xo33
> plugin paths: 
> Sending event: pluginload
> Modifying 1 items.
> the artist - älbum - tïtle 0
>   title: tïtle 0 -> newTitle
> Really modify, move and write tags? (Yes/no/select) 
> Sending event: write
> Sending event: after_write
> moving /tmp/tmpm833xo33/libdir/the artist/älbum/02 tïtle 0.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: cli_exit
> ok
> test_move (test_ui.ModifyTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpn711_g_a/config.yaml
> data directory: /tmp/tmpn711_g_a
> plugin paths: 
> Sending event: pluginload
> Modifying 1 items.
> the artist - älbum - tïtle 0
>   title: tïtle 0 -> newTitle
> Really modify, move and write tags? (Yes/no/select) 
> Sending event: write
> Sending event: after_write
> moving /tmp/tmpn711_g_a/libdir/the artist/älbum/02 tïtle 0.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: cli_exit
> ok
> test_no_write_no_move (test_ui.ModifyTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp6hh7p0t1/config.yaml
> data directory: /tmp/tmp6hh7p0t1
> plugin paths: 
> Sending event: pluginload
> Modifying 1 items.
> the artist - älbum - tïtle 0
>   title: tïtle 0 -> newTitle
> Really modify? (Yes/no/select) 
> Sending event: database_change
> Sending event: cli_exit
> ok
> test_not_move (test_ui.ModifyTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp4luq8fge/config.yaml
> data directory: /tmp/tmp4luq8fge
> plugin paths: 
> Sending event: pluginload
> Modifying 1 items.
> the artist - älbum - tïtle 0
>   title: tïtle 0 -> newTitle
> Really modify and write tags? (Yes/no/select) 
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: cli_exit
> ok
> test_remove_flexattr (test_ui.ModifyTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmptp7bywe4/config.yaml
> data directory: /tmp/tmptp7bywe4
> plugin paths: 
> Sending event: pluginload
> Modifying 1 items.
> the artist - älbum - tïtle 0
>   flexattr: testAttr -> 
> Really modify, move and write tags? (Yes/no/select) 
> Sending event: write
> Sending event: after_write
> moving /tmp/tmptp7bywe4/libdir/the artist/älbum/02 tïtle 0.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: cli_exit
> ok
> test_reset_mtime_with_no_write (test_ui.ModifyTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpbx8jkr2m/config.yaml
> data directory: /tmp/tmpbx8jkr2m
> plugin paths: 
> Sending event: pluginload
> Modifying 1 items.
> the artist - älbum - tïtle 0
>   title: tïtle 0 -> newTitle
> Really modify and move? (Yes/no/select) 
> moving /tmp/tmpbx8jkr2m/libdir/the artist/älbum/02 tïtle 0.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: cli_exit
> ok
> test_selective_modify (test_ui.ModifyTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp5fgwnk1u/config.yaml
> data directory: /tmp/tmp5fgwnk1u
> plugin paths: 
> Sending event: pluginload
> Modifying 10 items.
> composer - album - Tracktitle0
>   artist: composer -> coverArtist
> composer - album - Tracktitle1
>   artist: composer -> coverArtist
> composer - album - Tracktitle2
>   artist: composer -> coverArtist
> composer - album - Tracktitle3
>   artist: composer -> coverArtist
> composer - album - Tracktitle4
>   artist: composer -> coverArtist
> composer - album - Tracktitle5
>   artist: composer -> coverArtist
> composer - album - Tracktitle6
>   artist: composer -> coverArtist
> composer - album - Tracktitle7
>   artist: composer -> coverArtist
> composer - album - Tracktitle8
>   artist: composer -> coverArtist
> composer - album - Tracktitle9
>   artist: composer -> coverArtist
> Really modify, move and write tags? (Yes/no/select) 
> composer - album - Tracktitle0
>   artist: composer -> coverArtist
> Really modify, move and write tags? (yes/no/quit) 
> composer - album - Tracktitle1
>   artist: composer -> coverArtist
> Really modify, move and write tags? (yes/no/quit) composer - album - Tracktitle2
>   artist: composer -> coverArtist
> Really modify, move and write tags? (yes/no/quit) composer - album - Tracktitle3
>   artist: composer -> coverArtist
> Really modify, move and write tags? (yes/no/quit) composer - album - Tracktitle4
>   artist: composer -> coverArtist
> Really modify, move and write tags? (yes/no/quit) composer - album - Tracktitle5
>   artist: composer -> coverArtist
> Really modify, move and write tags? (yes/no/quit) composer - album - Tracktitle6
>   artist: composer -> coverArtist
> Really modify, move and write tags? (yes/no/quit) composer - album - Tracktitle7
>   artist: composer -> coverArtist
> Really modify, move and write tags? (yes/no/quit) composer - album - Tracktitle8
>   artist: composer -> coverArtist
> Really modify, move and write tags? (yes/no/quit) composer - album - Tracktitle9
>   artist: composer -> coverArtist
> Really modify, move and write tags? (yes/no/quit) Sending event: write
> Sending event: after_write
> moving /tmp/tmp5fgwnk1u/libdir/composer/album/00 Tracktitle0.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> moving /tmp/tmp5fgwnk1u/libdir/composer/album/00 Tracktitle1.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> moving /tmp/tmp5fgwnk1u/libdir/composer/album/00 Tracktitle2.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> moving /tmp/tmp5fgwnk1u/libdir/composer/album/00 Tracktitle5.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> moving /tmp/tmp5fgwnk1u/libdir/composer/album/00 Tracktitle6.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> moving /tmp/tmp5fgwnk1u/libdir/composer/album/00 Tracktitle7.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> moving /tmp/tmp5fgwnk1u/libdir/composer/album/00 Tracktitle8.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: cli_exit
> ok
> test_set_flexattr (test_ui.ModifyTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpl3r6lfku/config.yaml
> data directory: /tmp/tmpl3r6lfku
> plugin paths: 
> Sending event: pluginload
> Modifying 1 items.
> the artist - älbum - tïtle 0
>   flexattr: testAttr
> Really modify, move and write tags? (Yes/no/select) Sending event: write
> Sending event: after_write
> moving /tmp/tmpl3r6lfku/libdir/the artist/älbum/02 tïtle 0.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: cli_exit
> ok
> test_update_mtime (test_ui.ModifyTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp5pk8rtwr/config.yaml
> data directory: /tmp/tmp5pk8rtwr
> plugin paths: 
> Sending event: pluginload
> Modifying 1 items.
> the artist - älbum - tïtle 0
>   title: tïtle 0 -> newTitle
> Really modify, move and write tags? (Yes/no/select) 
> Sending event: write
> Sending event: after_write
> moving /tmp/tmp5pk8rtwr/libdir/the artist/älbum/02 tïtle 0.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: cli_exit
> ok
> test_write_initial_key_tag (test_ui.ModifyTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpo5htu77m/config.yaml
> data directory: /tmp/tmpo5htu77m
> plugin paths: 
> Sending event: pluginload
> Modifying 1 items.
> the artist - älbum - tïtle 0
>   initial_key:  -> C#m
> Really modify, move and write tags? (Yes/no/select) 
> Sending event: write
> Sending event: after_write
> moving /tmp/tmpo5htu77m/libdir/the artist/älbum/02 tïtle 0.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: cli_exit
> ok
> test_copy_album (test_ui.MoveTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Copying 1 album.
> moving: /tmp/tmpbkk_rfjq/testlibdir
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> ok
> test_copy_item (test_ui.MoveTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Copying 1 item.
> moving: /tmp/tmpl_rz9_o_/testlibdir/srcfile
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> ok
> test_export_album_custom_dir (test_ui.MoveTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Copying 1 album.
> moving: /tmp/tmp_iofs0ci/testlibdir
> Sending event: item_copied
> ok
> test_export_item_custom_dir (test_ui.MoveTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Copying 1 item.
> moving: /tmp/tmpew63el9z/testlibdir/srcfile
> Sending event: item_copied
> ok
> test_move_album (test_ui.MoveTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Moving 1 album.
> moving: /tmp/tmps5vw_u38/testlibdir
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> ok
> test_move_album_custom_dir (test_ui.MoveTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Moving 1 album.
> moving: /tmp/tmp1il54qbc/testlibdir
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> ok
> test_move_item (test_ui.MoveTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Moving 1 item.
> moving: /tmp/tmp61f5rrvo/testlibdir/srcfile
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> ok
> test_move_item_custom_dir (test_ui.MoveTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Moving 1 item.
> moving: /tmp/tmpjygvw8fw/testlibdir/srcfile
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> ok
> test_pretend_export_item (test_ui.MoveTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Copying 1 item.
> /tmp/tmpej7p66ns/testlibdir/srcfile 
>   -> /tmp/tmpej7p66ns/testotherdir/the artist/the album/02 full
> ok
> test_pretend_move_album (test_ui.MoveTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Moving 1 album.
> /tmp/tmpfimp20zm/testlibdir/srcfile 
>   -> /tmp/tmpfimp20zm/testlibdir/the artist/the album/02 full
> ok
> test_pretend_move_item (test_ui.MoveTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Moving 1 item.
> /tmp/tmp9xoy3l2t/testlibdir/srcfile 
>   -> /tmp/tmp9xoy3l2t/testotherdir/the artist/the album/02 full
> ok
> test_custom_paths_prepend (test_ui.PathFormatTest) ... ok
> test_plugin_command_from_pluginpath (test_ui.PluginTest) ... ok
> test_print_with_invalid_locale (test_ui.PrintTest) ... ok
> test_print_without_locale (test_ui.PrintTest) ... ok
> test_remove_items_no_delete (test_ui.RemoveTest) ... ok
> test_remove_items_with_delete (test_ui.RemoveTest) ... ok
> test_remove_items_with_force_delete (test_ui.RemoveTest) ... ok
> test_remove_items_with_force_no_delete (test_ui.RemoveTest) ... ok
> test_album_data_change (test_ui.ShowChangeTest) ... ok
> test_album_data_change_with_unicode (test_ui.ShowChangeTest) ... ok
> test_item_data_change (test_ui.ShowChangeTest) ... ok
> test_item_data_change_title_missing (test_ui.ShowChangeTest) ... ok
> test_item_data_change_title_missing_with_unicode_filename (test_ui.ShowChangeTest) ... ok
> test_item_data_change_with_unicode (test_ui.ShowChangeTest) ... ok
> test_null_change (test_ui.ShowChangeTest) ... ok
> test_both_values_shown (test_ui.ShowModelChangeTest) ... ok
> test_floats_close_to_identical (test_ui.ShowModelChangeTest) ... ok
> test_floats_different (test_ui.ShowModelChangeTest) ... ok
> test_identical (test_ui.ShowModelChangeTest) ... ok
> test_int_fixed_field_change (test_ui.ShowModelChangeTest) ... ok
> test_string_fixed_field_change (test_ui.ShowModelChangeTest) ... ok
> test_summarize_item (test_ui.SummarizeItemsTest) ... ok
> test_summarize_items (test_ui.SummarizeItemsTest) ... ok
> test_delete_removes_album (test_ui.UpdateTest) ... ok
> test_delete_removes_album_art (test_ui.UpdateTest) ... ok
> test_delete_removes_item (test_ui.UpdateTest) ... ok
> test_modified_album_metadata_art_moved (test_ui.UpdateTest) ... ok
> test_modified_album_metadata_moved (test_ui.UpdateTest) ... ok
> test_modified_metadata_detected (test_ui.UpdateTest) ... ok
> test_modified_metadata_moved (test_ui.UpdateTest) ... ok
> test_modified_metadata_not_moved (test_ui.UpdateTest) ... ok
> test_mtime_match_skips_update (test_ui.UpdateTest) ... ok
> test_selective_modified_album_metadata_moved (test_ui.UpdateTest) ... ok
> test_selective_modified_album_metadata_not_moved (test_ui.UpdateTest) ... ok
> test_selective_modified_metadata_moved (test_ui.UpdateTest) ... ok
> test_selective_modified_metadata_not_moved (test_ui.UpdateTest) ... ok
> test_non_metadata_field_unchanged (test_ui.WriteTest)
> Changing a non-"tag" field like `bitrate` and writing should ... no user configuration found at /tmp/tmp8apw49vg/config.yaml
> data directory: /tmp/tmp8apw49vg
> plugin paths: 
> Sending event: pluginload
> Sending event: cli_exit
> ok
> test_update_mtime (test_ui.WriteTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpnvn1gpnh/config.yaml
> data directory: /tmp/tmpnvn1gpnh
> plugin paths: 
> Sending event: pluginload
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: cli_exit
> ok
> test_write_metadata_field (test_ui.WriteTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpgn2ongfz/config.yaml
> data directory: /tmp/tmpgn2ongfz
> plugin paths: 
> Sending event: pluginload
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: cli_exit
> ok
> test_message_when_invalid (test_mbsync.MbsyncCliTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp4227bic5/config.yaml
> data directory: /tmp/tmp4227bic5
> plugin paths: 
> Sending event: pluginload
> mbsync: Skipping album with invalid mb_albumid: album info - album info
> Sending event: cli_exit
> no user configuration found at /tmp/tmp4227bic5/config.yaml
> data directory: /tmp/tmp4227bic5
> plugin paths: 
> Sending event: pluginload
> mbsync: Skipping album with invalid mb_albumid: 'album info'
> Sending event: cli_exit
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp4227bic5/config.yaml
> data directory: /tmp/tmp4227bic5
> plugin paths: 
> Sending event: pluginload
> mbsync: Skipping singleton with invalid mb_trackid: album info - album info - old title
> mbsync: Skipping album with invalid mb_albumid: album info - album info
> Sending event: cli_exit
> no user configuration found at /tmp/tmp4227bic5/config.yaml
> data directory: /tmp/tmp4227bic5
> plugin paths: 
> Sending event: pluginload
> mbsync: Skipping singleton with invalid mb_trackid: 'old title'
> mbsync: Skipping album with invalid mb_albumid: '$title'
> Sending event: cli_exit
> ok
> test_message_when_skipping (test_mbsync.MbsyncCliTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpyx81vli4/config.yaml
> data directory: /tmp/tmpyx81vli4
> plugin paths: 
> Sending event: pluginload
> mbsync: Skipping album with no mb_albumid: album info - album info
> Sending event: cli_exit
> no user configuration found at /tmp/tmpyx81vli4/config.yaml
> data directory: /tmp/tmpyx81vli4
> plugin paths: 
> Sending event: pluginload
> mbsync: Skipping album with no mb_albumid: 'album info'
> Sending event: cli_exit
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpyx81vli4/config.yaml
> data directory: /tmp/tmpyx81vli4
> plugin paths: 
> Sending event: pluginload
> mbsync: Skipping singleton with no mb_trackid: album info - album info - old title
> mbsync: Skipping album with no mb_albumid: album info - album info
> Sending event: cli_exit
> no user configuration found at /tmp/tmpyx81vli4/config.yaml
> data directory: /tmp/tmpyx81vli4
> plugin paths: 
> Sending event: pluginload
> mbsync: Skipping singleton with no mb_trackid: 'old title'
> mbsync: Skipping album with no mb_albumid: '$title'
> Sending event: cli_exit
> ok
> test_update_library (test_mbsync.MbsyncCliTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp413cix26/config.yaml
> data directory: /tmp/tmp413cix26
> plugin paths: 
> Sending event: pluginload
> Sending event: trackinfo_received
> Sending event: write
> open failed: [Errno 2] No such file or directory: b''
> error reading : [Errno 2] No such file or directory: b''
> Sending event: database_change
> Sending event: albuminfo_received
> mbsync: applying changes to  - old title
>  - old title - 
>   title:  -> track info
>   artist:  -> track info
>   artist_sort:  -> track info
>   artist_credit:  -> track info
>   album: old title -> album info
>   albumartist:  -> album info
>   albumartist_sort:  -> album info
>   albumartist_credit:  -> album info
>   tracktotal: 00 -> 01
>   comp: False -> True
>   mb_trackid: old track id -> track id
>   mb_albumid: 81ae60d4-5b75-38df-903a-db2cfa51c2c6 -> album info
>   mb_artistid:  -> track info
>   mb_albumartistid:  -> album info
>   albumtype:  -> album info
>   label:  -> album info
>   mb_releasegroupid:  -> album info
>   asin:  -> album info
>   catalognum:  -> album info
>   language:  -> album info
>   country:  -> album info
>   albumstatus:  -> album info
>   albumdisambig:  -> album info
>   releasegroupdisambig:  -> album info
>   disctitle:  -> track info
>   track_alt: 
>   data_source: album info
> Sending event: write
> open failed: [Errno 2] No such file or directory: b''
> error reading : [Errno 2] No such file or directory: b''
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: cli_exit
> ok
> test_functional_custom_format (test_ftintitle.FtInTitlePluginFunctional) ... Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmphj77aob6/config.yaml
> data directory: /tmp/tmphj77aob6
> plugin paths: 
> Sending event: pluginload
> ftintitle: /
> ftintitle: artist: Alice ft Bob -> Alice
> ftintitle: title: Song 1 -> Song 1 feat. Bob
> Sending event: database_change
> Sending event: write
> open failed: [Errno 21] Is a directory: b'/'
> error reading /: [Errno 21] Is a directory: b'/'
> Sending event: cli_exit
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmphj77aob6/config.yaml
> data directory: /tmp/tmphj77aob6
> plugin paths: 
> Sending event: pluginload
> Sending event: database_change
> Sending event: write
> open failed: [Errno 21] Is a directory: b'/'
> error reading /: [Errno 21] Is a directory: b'/'
> ftintitle: /
> ftintitle: artist: Alice feat. Bob -> Alice
> ftintitle: title: Song 1 -> Song 1 featuring Bob
> Sending event: database_change
> Sending event: write
> open failed: [Errno 21] Is a directory: b'/'
> error reading /: [Errno 21] Is a directory: b'/'
> Sending event: cli_exit
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmphj77aob6/config.yaml
> data directory: /tmp/tmphj77aob6
> plugin paths: 
> Sending event: pluginload
> Sending event: database_change
> Sending event: write
> open failed: [Errno 21] Is a directory: b'/'
> error reading /: [Errno 21] Is a directory: b'/'
> Sending event: database_change
> Sending event: write
> open failed: [Errno 21] Is a directory: b'/'
> error reading /: [Errno 21] Is a directory: b'/'
> ftintitle: /
> ftintitle: artist: Alice feat Bob -> Alice
> ftintitle: title: Song 1 -> Song 1 with Bob
> Sending event: database_change
> Sending event: write
> open failed: [Errno 21] Is a directory: b'/'
> error reading /: [Errno 21] Is a directory: b'/'
> Sending event: cli_exit
> ok
> test_functional_drop (test_ftintitle.FtInTitlePluginFunctional) ... Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpbhdn2g1r/config.yaml
> data directory: /tmp/tmpbhdn2g1r
> plugin paths: 
> Sending event: pluginload
> ftintitle: /
> ftintitle: artist: Alice ft Bob -> Alice
> Sending event: database_change
> Sending event: write
> open failed: [Errno 21] Is a directory: b'/'
> error reading /: [Errno 21] Is a directory: b'/'
> Sending event: cli_exit
> ok
> test_functional_not_found (test_ftintitle.FtInTitlePluginFunctional) ... Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpg1d5zmgw/config.yaml
> data directory: /tmp/tmpg1d5zmgw
> plugin paths: 
> Sending event: pluginload
> ftintitle: /
> ftintitle: no featuring artists found
> Sending event: database_change
> Sending event: write
> open failed: [Errno 21] Is a directory: b'/'
> error reading /: [Errno 21] Is a directory: b'/'
> Sending event: cli_exit
> ok
> test_contains_feat (test_ftintitle.FtInTitlePluginTest) ... ok
> test_find_feat_part (test_ftintitle.FtInTitlePluginTest) ... ok
> test_split_on_feat (test_ftintitle.FtInTitlePluginTest) ... ok
> test_discc_alternate_field (test_mediafile_edge.EdgeTest) ... ok
> test_emptylist (test_mediafile_edge.EdgeTest) ... ok
> test_old_ape_version_bitrate (test_mediafile_edge.EdgeTest) ... ok
> test_only_magic_bytes_jpeg (test_mediafile_edge.EdgeTest) ... ok
> test_release_time_with_space (test_mediafile_edge.EdgeTest) ... ok
> test_release_time_with_t (test_mediafile_edge.EdgeTest) ... ok
> test_soundcheck_non_ascii (test_mediafile_edge.EdgeTest) ... ok
> test_tempo_with_bpm (test_mediafile_edge.EdgeTest) ... ok
> test_image_encoding (test_mediafile_edge.ID3v23Test)
> For compatibility with OS X/iTunes. ... ok
> test_v23_on_non_mp3_is_noop (test_mediafile_edge.ID3v23Test) ... ok
> test_v23_year_tag (test_mediafile_edge.ID3v23Test) ... ok
> test_v24_year_tag (test_mediafile_edge.ID3v23Test) ... ok
> test_safe_cast_float_with_dot_only (test_mediafile_edge.InvalidValueToleranceTest) ... ok
> test_safe_cast_float_with_multiple_dots (test_mediafile_edge.InvalidValueToleranceTest) ... ok
> test_safe_cast_float_with_no_numbers (test_mediafile_edge.InvalidValueToleranceTest) ... ok
> test_safe_cast_int_string_to_int (test_mediafile_edge.InvalidValueToleranceTest) ... ok
> test_safe_cast_int_to_float (test_mediafile_edge.InvalidValueToleranceTest) ... ok
> test_safe_cast_intstring_to_bool (test_mediafile_edge.InvalidValueToleranceTest) ... ok
> test_safe_cast_negative_string_to_float (test_mediafile_edge.InvalidValueToleranceTest) ... ok
> test_safe_cast_special_chars_to_unicode (test_mediafile_edge.InvalidValueToleranceTest) ... ok
> test_safe_cast_string_to_bool (test_mediafile_edge.InvalidValueToleranceTest) ... ok
> test_safe_cast_string_to_float (test_mediafile_edge.InvalidValueToleranceTest) ... ok
> test_safe_cast_string_to_int (test_mediafile_edge.InvalidValueToleranceTest) ... ok
> test_safe_cast_string_to_int_with_no_numbers (test_mediafile_edge.InvalidValueToleranceTest) ... ok
> test_safe_cast_string_with_cruft_to_float (test_mediafile_edge.InvalidValueToleranceTest) ... ok
> test_comment_with_latin1_encoding (test_mediafile_edge.MP3EncodingTest) ... ok
> test_unicode_label_in_m4a (test_mediafile_edge.MP4EncodingTest) ... ok
> test_bitrate_with_zero_length (test_mediafile_edge.MissingAudioDataTest) ... ok
> test_broken_symlink (test_mediafile_edge.SafetyTest) ... open failed: [Errno 2] No such file or directory: b'/<<PKGBUILDDIR>>/test/rsrc/brokenlink'
> ok
> test_corrupt_flac_raises_unreadablefileerror (test_mediafile_edge.SafetyTest) ... open failed: file said 4 bytes, read 0 bytes
> ok
> test_corrupt_monkeys_raises_unreadablefileerror (test_mediafile_edge.SafetyTest) ... open failed: not a Monkey's Audio file
> ok
> test_corrupt_mp3_raises_unreadablefileerror (test_mediafile_edge.SafetyTest) ... open failed: can't sync to MPEG frame
> ok
> test_corrupt_mp4_raises_unreadablefileerror (test_mediafile_edge.SafetyTest) ... ok
> test_corrupt_ogg_raises_unreadablefileerror (test_mediafile_edge.SafetyTest) ... ok
> test_invalid_extension_raises_filetypeerror (test_mediafile_edge.SafetyTest) ... ok
> test_invalid_ogg_header_raises_unreadablefileerror (test_mediafile_edge.SafetyTest) ... open failed: unable to read full header; got b'OggS\x01vorbis'
> ok
> test_magic_xml_raises_unreadablefileerror (test_mediafile_edge.SafetyTest) ... open failed: not a MP4 file
> ok
> test_opening_tagless_file_leaves_untouched (test_mediafile_edge.SideEffectsTest) ... ok
> test_decode_handles_unicode (test_mediafile_edge.SoundCheckTest) ... ok
> test_decode_zero (test_mediafile_edge.SoundCheckTest) ... ok
> test_malformatted (test_mediafile_edge.SoundCheckTest) ... ok
> test_round_trip (test_mediafile_edge.SoundCheckTest) ... ok
> test_special_characters (test_mediafile_edge.SoundCheckTest) ... ok
> test_set_date_to_none (test_mediafile_edge.TypeTest) ... ok
> test_set_replaygain_gain_to_none (test_mediafile_edge.TypeTest) ... ok
> test_set_replaygain_peak_to_none (test_mediafile_edge.TypeTest) ... ok
> test_set_track_to_none (test_mediafile_edge.TypeTest) ... ok
> test_set_year_to_none (test_mediafile_edge.TypeTest) ... ok
> test_year_integer_in_string (test_mediafile_edge.TypeTest) ... ok
> test_add_key (test_keyfinder.KeyFinderTest) ... Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpxz_vnlms/config.yaml
> data directory: /tmp/tmpxz_vnlms
> plugin paths: 
> Sending event: pluginload
> keyfinder: added computed initial key dbm for /file
> Sending event: write
> open failed: [Errno 2] No such file or directory: b'/file'
> error reading /file: [Errno 2] No such file or directory: b'/file'
> Sending event: database_change
> Sending event: cli_exit
> ok
> test_add_key_on_import (test_keyfinder.KeyFinderTest) ... Sending event: import_begin
> Sending event: import_task_created
> /tmp/tmpwsiizvyx/import/album 0
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> keyfinder: added computed initial key dbm for /tmp/tmpwsiizvyx/import/album 0/track 0.mp3
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_do_not_overwrite (test_keyfinder.KeyFinderTest) ... Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp3buaod0n/config.yaml
> data directory: /tmp/tmp3buaod0n
> plugin paths: 
> Sending event: pluginload
> Sending event: cli_exit
> ok
> test_force_overwrite (test_keyfinder.KeyFinderTest) ... Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp1p4yrrbt/config.yaml
> data directory: /tmp/tmp1p4yrrbt
> plugin paths: 
> Sending event: pluginload
> keyfinder: added computed initial key C#m for /file
> Sending event: write
> open failed: [Errno 2] No such file or directory: b'/file'
> error reading /file: [Errno 2] No such file or directory: b'/file'
> Sending event: database_change
> Sending event: cli_exit
> ok
> test_format_fixed_field (test_dbcore.FormatTest) ... ok
> test_format_flex_field (test_dbcore.FormatTest) ... ok
> test_format_flex_field_bytes (test_dbcore.FormatTest) ... ok
> test_format_typed_flex_field (test_dbcore.FormatTest) ... ok
> test_format_unset_field (test_dbcore.FormatTest) ... ok
> test_get_method_with_default (test_dbcore.FormattedMappingTest) ... ok
> test_get_method_with_specified_default (test_dbcore.FormattedMappingTest) ... ok
> test_get_unset_field (test_dbcore.FormattedMappingTest) ... ok
> test_keys_equal_model_keys (test_dbcore.FormattedMappingTest) ... ok
> test_extra_model_adds_table (test_dbcore.MigrationTest) ... ok
> test_open_with_fewer_fields_leaves_untouched (test_dbcore.MigrationTest) ... ok
> test_open_with_multiple_new_fields (test_dbcore.MigrationTest) ... ok
> test_open_with_new_field_adds_column (test_dbcore.MigrationTest) ... ok
> test_open_with_same_fields_leaves_untouched (test_dbcore.MigrationTest) ... ok
> test_add_model (test_dbcore.ModelTest) ... ok
> test_check_db_fails (test_dbcore.ModelTest) ... ok
> test_computed_field (test_dbcore.ModelTest) ... ok
> test_delete_fixed_attribute (test_dbcore.ModelTest) ... ok
> test_delete_flexattr (test_dbcore.ModelTest) ... ok
> test_delete_flexattr_persists (test_dbcore.ModelTest) ... ok
> test_delete_flexattr_via_dot (test_dbcore.ModelTest) ... ok
> test_delete_internal_field (test_dbcore.ModelTest) ... ok
> test_delete_non_existent_attribute (test_dbcore.ModelTest) ... ok
> test_items (test_dbcore.ModelTest) ... ok
> test_load_deleted_flex_field (test_dbcore.ModelTest) ... ok
> test_missing_field (test_dbcore.ModelTest) ... ok
> test_normalization_for_typed_flex_fields (test_dbcore.ModelTest) ... ok
> test_null_value_normalization_by_type (test_dbcore.ModelTest) ... ok
> test_null_value_stays_none_for_untyped_field (test_dbcore.ModelTest) ... ok
> test_parse_nonstring (test_dbcore.ModelTest) ... ok
> test_retrieve_by_id (test_dbcore.ModelTest) ... ok
> test_store_and_retrieve_flexattr (test_dbcore.ModelTest) ... ok
> test_store_fixed_field (test_dbcore.ModelTest) ... ok
> test_and_query (test_dbcore.ParseSortedQueryTest) ... ok
> test_leading_comma_or_query (test_dbcore.ParseSortedQueryTest) ... ok
> test_no_space_before_comma_or_query (test_dbcore.ParseSortedQueryTest) ... ok
> test_no_spaces_or_query (test_dbcore.ParseSortedQueryTest) ... ok
> test_only_direction (test_dbcore.ParseSortedQueryTest) ... ok
> test_or_query (test_dbcore.ParseSortedQueryTest) ... ok
> test_trailing_comma_or_query (test_dbcore.ParseSortedQueryTest) ... ok
> test_parse_fixed_field (test_dbcore.ParseTest) ... ok
> test_parse_flex_field (test_dbcore.ParseTest) ... ok
> test_parse_untyped_field (test_dbcore.ParseTest) ... ok
> test_empty_query_part (test_dbcore.QueryFromStringsTest) ... ok
> test_parse_fixed_type_query (test_dbcore.QueryFromStringsTest) ... ok
> test_parse_flex_type_query (test_dbcore.QueryFromStringsTest) ... ok
> test_parse_named_query (test_dbcore.QueryFromStringsTest) ... ok
> test_two_parts (test_dbcore.QueryFromStringsTest) ... ok
> test_zero_parts (test_dbcore.QueryFromStringsTest) ... ok
> test_colon_at_end (test_dbcore.QueryParseTest) ... ok
> test_empty_query_part (test_dbcore.QueryParseTest) ... ok
> test_escaped_colon (test_dbcore.QueryParseTest) ... ok
> test_escaped_colon_in_regexp (test_dbcore.QueryParseTest) ... ok
> test_keyed_regexp (test_dbcore.QueryParseTest) ... ok
> test_multiple_years (test_dbcore.QueryParseTest) ... ok
> test_one_basic_regexp (test_dbcore.QueryParseTest) ... ok
> test_one_basic_term (test_dbcore.QueryParseTest) ... ok
> test_one_keyed_term (test_dbcore.QueryParseTest) ... ok
> test_single_year (test_dbcore.QueryParseTest) ... ok
> test_concurrent_iterators (test_dbcore.ResultsIteratorTest) ... ok
> test_iterate_once (test_dbcore.ResultsIteratorTest) ... ok
> test_iterate_slow_sort (test_dbcore.ResultsIteratorTest) ... ok
> test_iterate_twice (test_dbcore.ResultsIteratorTest) ... ok
> test_length (test_dbcore.ResultsIteratorTest) ... ok
> test_no_results (test_dbcore.ResultsIteratorTest) ... ok
> test_out_of_range (test_dbcore.ResultsIteratorTest) ... ok
> test_slow_query (test_dbcore.ResultsIteratorTest) ... ok
> test_slow_query_negative (test_dbcore.ResultsIteratorTest) ... ok
> test_slow_sort_subscript (test_dbcore.ResultsIteratorTest) ... ok
> test_unsorted_subscript (test_dbcore.ResultsIteratorTest) ... ok
> test_fixed_field_sort (test_dbcore.SortFromStringsTest) ... ok
> test_flex_field_sort (test_dbcore.SortFromStringsTest) ... ok
> test_one_parts (test_dbcore.SortFromStringsTest) ... ok
> test_special_sort (test_dbcore.SortFromStringsTest) ... ok
> test_two_parts (test_dbcore.SortFromStringsTest) ... ok
> test_zero_parts (test_dbcore.SortFromStringsTest) ... ok
> test_is_page_candidate_exact_match (test_lyrics.LyricsGooglePluginMachineryTest)
> Test matching html page title with song infos -- when song infos are ... lyrics: Disabling google source: no API key configured.
> ok
> test_is_page_candidate_fuzzy_match (test_lyrics.LyricsGooglePluginMachineryTest)
> Test matching html page title with song infos -- when song infos are ... lyrics: Disabling google source: no API key configured.
> ok
> test_is_page_candidate_special_chars (test_lyrics.LyricsGooglePluginMachineryTest)
> Ensure that `is_page_candidate` doesn't crash when the artist ... lyrics: Disabling google source: no API key configured.
> ok
> test_mocked_source_ok (test_lyrics.LyricsGooglePluginMachineryTest)
> Test that lyrics of the mocked page are correctly scraped ... lyrics: Disabling google source: no API key configured.
> ok
> test_backend_sources_ok (test_lyrics.LyricsPluginSourcesTest)
> Test default backends with songs known to exist in respective databases. ... skipped 'lyrics sources testing not enabled'
> test_google_sources_ok (test_lyrics.LyricsPluginSourcesTest)
> Test if lyrics present on websites registered in beets google custom ... skipped 'lyrics sources testing not enabled'
> test_is_lyrics (test_lyrics.LyricsPluginTest) ... lyrics: Disabling google source: no API key configured.
> Ignoring too short lyrics 'LyricsMania.com - Copyright (c) 2013 - All Rights Reserved'
> Bad triggers detected: ['too_short', 'property']
> ok
> test_missing_lyrics (test_lyrics.LyricsPluginTest) ... lyrics: Disabling google source: no API key configured.
> Bad triggers detected: ['too_short', 'lyrics', 'lyrics']
> ok
> test_remove_credits (test_lyrics.LyricsPluginTest) ... lyrics: Disabling google source: no API key configured.
> ok
> test_scrape_merge_paragraphs (test_lyrics.LyricsPluginTest) ... lyrics: Disabling google source: no API key configured.
> ok
> test_scrape_strip_cruft (test_lyrics.LyricsPluginTest) ... lyrics: Disabling google source: no API key configured.
> ok
> test_scrape_strip_scripts (test_lyrics.LyricsPluginTest) ... lyrics: Disabling google source: no API key configured.
> ok
> test_scrape_strip_tag_in_comment (test_lyrics.LyricsPluginTest) ... lyrics: Disabling google source: no API key configured.
> ok
> test_search_artist (test_lyrics.LyricsPluginTest) ... lyrics: Disabling google source: no API key configured.
> ok
> test_search_pairs_multi_titles (test_lyrics.LyricsPluginTest) ... lyrics: Disabling google source: no API key configured.
> ok
> test_search_pairs_titles (test_lyrics.LyricsPluginTest) ... lyrics: Disabling google source: no API key configured.
> ok
> test_slugify (test_lyrics.LyricsPluginTest) ... lyrics: Disabling google source: no API key configured.
> ok
> test_slug (test_lyrics.SlugTests) ... ok
> test_a_album_edit_apply (test_edit.EditCommandTest)
> Album query (-a), edit album field, apply changes. ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpdezvqt_r/config.yaml
> data directory: /tmp/tmpdezvqt_r
> plugin paths: 
> Sending event: pluginload
> the album artist - älbum
>   album: älbum -> modified älbum
> continue [E]diting, Apply, Cancel? 
> 
>  -  - min
>   title: min -> a new title
>   artist:  -> the ärtist
>   album:  -> the älbum
>   encoder: iTunes v7.6.2 -> 
>   rg_track_gain: 0.0 -> 0.0
>   rg_track_peak: 0.0 -> 0.0
> 
>  -  - min
>   title: min -> new title
> 
> edit: saving changes to the album artist - modified älbum
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> moving /tmp/tmpdezvqt_r/libdir/the artist/älbum/02 tïtle 0.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> moving /tmp/tmpdezvqt_r/libdir/the artist/älbum/02 tïtle 1.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> moving /tmp/tmpdezvqt_r/libdir/the artist/älbum/02 tïtle 2.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> moving /tmp/tmpdezvqt_r/libdir/the artist/älbum/02 tïtle 3.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> moving /tmp/tmpdezvqt_r/libdir/the artist/älbum/02 tïtle 4.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> moving /tmp/tmpdezvqt_r/libdir/the artist/älbum/02 tïtle 5.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> moving /tmp/tmpdezvqt_r/libdir/the artist/älbum/02 tïtle 6.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> moving /tmp/tmpdezvqt_r/libdir/the artist/älbum/02 tïtle 7.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> moving /tmp/tmpdezvqt_r/libdir/the artist/älbum/02 tïtle 8.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> moving /tmp/tmpdezvqt_r/libdir/the artist/älbum/02 tïtle 9.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: cli_exit
> ok
> test_a_albumartist_edit_apply (test_edit.EditCommandTest)
> Album query (-a), edit albumartist field, apply changes. ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp8vguzqz5/config.yaml
> data directory: /tmp/tmp8vguzqz5
> plugin paths: 
> Sending event: pluginload
> the album artist - älbum
>   albumartist: the album artist -> the modified album artist
> continue [E]diting, Apply, Cancel? edit: saving changes to the modified album artist - älbum
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> moving /tmp/tmp8vguzqz5/libdir/the artist/älbum/02 tïtle 0.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> moving /tmp/tmp8vguzqz5/libdir/the artist/älbum/02 tïtle 1.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> moving /tmp/tmp8vguzqz5/libdir/the artist/älbum/02 tïtle 2.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> moving /tmp/tmp8vguzqz5/libdir/the artist/älbum/02 tïtle 3.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> moving /tmp/tmp8vguzqz5/libdir/the artist/älbum/02 tïtle 4.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> moving /tmp/tmp8vguzqz5/libdir/the artist/älbum/02 tïtle 5.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> moving /tmp/tmp8vguzqz5/libdir/the artist/älbum/02 tïtle 6.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> moving /tmp/tmp8vguzqz5/libdir/the artist/älbum/02 tïtle 7.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> moving /tmp/tmp8vguzqz5/libdir/the artist/älbum/02 tïtle 8.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> moving /tmp/tmp8vguzqz5/libdir/the artist/älbum/02 tïtle 9.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: cli_exit
> ok
> test_album_edit_apply (test_edit.EditCommandTest)
> Edit the album field for all items in the library, apply changes. ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp0bowk07_/config.yaml
> data directory: /tmp/tmp0bowk07_
> plugin paths: 
> Sending event: pluginload
> the artist - älbum - tïtle 0
>   album: älbum -> modified älbum
> the artist - älbum - tïtle 1
>   album: älbum -> modified älbum
> the artist - älbum - tïtle 2
>   album: älbum -> modified älbum
> the artist - älbum - tïtle 3
>   album: älbum -> modified älbum
> the artist - älbum - tïtle 4
>   album: älbum -> modified älbum
> the artist - älbum - tïtle 5
>   album: älbum -> modified älbum
> the artist - älbum - tïtle 6
>   album: älbum -> modified älbum
> the artist - älbum - tïtle 7
>   album: älbum -> modified älbum
> the artist - älbum - tïtle 8
>   album: älbum -> modified älbum
> the artist - älbum - tïtle 9
>   album: älbum -> modified älbum
> continue [E]diting, Apply, Cancel? edit: saving changes to the artist - modified älbum - tïtle 0
> moving /tmp/tmp0bowk07_/libdir/the artist/älbum/02 tïtle 0.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> edit: saving changes to the artist - modified älbum - tïtle 1
> moving /tmp/tmp0bowk07_/libdir/the artist/älbum/02 tïtle 1.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> edit: saving changes to the artist - modified älbum - tïtle 2
> moving /tmp/tmp0bowk07_/libdir/the artist/älbum/02 tïtle 2.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> edit: saving changes to the artist - modified älbum - tïtle 3
> moving /tmp/tmp0bowk07_/libdir/the artist/älbum/02 tïtle 3.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> edit: saving changes to the artist - modified älbum - tïtle 4
> moving /tmp/tmp0bowk07_/libdir/the artist/älbum/02 tïtle 4.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> edit: saving changes to the artist - modified älbum - tïtle 5
> moving /tmp/tmp0bowk07_/libdir/the artist/älbum/02 tïtle 5.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> edit: saving changes to the artist - modified älbum - tïtle 6
> moving /tmp/tmp0bowk07_/libdir/the artist/älbum/02 tïtle 6.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> edit: saving changes to the artist - modified älbum - tïtle 7
> moving /tmp/tmp0bowk07_/libdir/the artist/älbum/02 tïtle 7.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> edit: saving changes to the artist - modified älbum - tïtle 8
> moving /tmp/tmp0bowk07_/libdir/the artist/älbum/02 tïtle 8.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> edit: saving changes to the artist - modified älbum - tïtle 9
> moving /tmp/tmp0bowk07_/libdir/the artist/älbum/02 tïtle 9.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: cli_exit
> ok
> test_invalid_yaml (test_edit.EditCommandTest)
> Edit the yaml file incorrectly (resulting in a well-formed but ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpq3xfzgtg/config.yaml
> data directory: /tmp/tmpq3xfzgtg
> plugin paths: 
> Sending event: pluginload
> edit: number of objects changed from 10 to 1
> edit: ignoring object whose id changed
> No changes to apply.
> Sending event: cli_exit
> ok
> test_malformed_yaml (test_edit.EditCommandTest)
> Edit the yaml file incorrectly (resulting in a malformed yaml ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp_z4bozhc/config.yaml
> data directory: /tmp/tmp_z4bozhc
> plugin paths: 
> Sending event: pluginload
> Could not read data: invalid YAML: could not determine a constructor for the tag '!MALFORMED'
>   in "<unicode string>", line 1, column 1:
>     !MALFORMED
>     ^
> Edit again to fix? (Y/n) Sending event: cli_exit
> ok
> test_noedit (test_edit.EditCommandTest)
> Do not edit anything. ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpgoz1rnjl/config.yaml
> data directory: /tmp/tmpgoz1rnjl
> plugin paths: 
> Sending event: pluginload
> No changes; aborting.
> Sending event: cli_exit
> ok
> test_single_edit_add_field (test_edit.EditCommandTest)
> Edit the yaml file appending an extra field to the first item, then ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpkkkab5qh/config.yaml
> data directory: /tmp/tmpkkkab5qh
> plugin paths: 
> Sending event: pluginload
> the artist - älbum - tïtle 1
>   foo: bar
> continue [E]diting, Apply, Cancel? edit: saving changes to the artist - älbum - tïtle 1
> moving /tmp/tmpkkkab5qh/libdir/the artist/älbum/02 tïtle 1.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: cli_exit
> ok
> test_single_title_edit_apply (test_edit.EditCommandTest)
> Edit title for one item in the library, then apply changes. ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp119s9g1j/config.yaml
> data directory: /tmp/tmp119s9g1j
> plugin paths: 
> Sending event: pluginload
> the artist - älbum - tïtle 9
>   title: tïtle 9 -> modified tïtle 9
> continue [E]diting, Apply, Cancel? edit: saving changes to the artist - älbum - modified tïtle 9
> moving /tmp/tmp119s9g1j/libdir/the artist/älbum/02 tïtle 9.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: cli_exit
> ok
> test_title_edit_apply (test_edit.EditCommandTest)
> Edit title for all items in the library, then apply changes. ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp8jjoqkil/config.yaml
> data directory: /tmp/tmp8jjoqkil
> plugin paths: 
> Sending event: pluginload
> the artist - älbum - tïtle 0
>   title: tïtle 0 -> modified tïtle 0
> the artist - älbum - tïtle 1
>   title: tïtle 1 -> modified tïtle 1
> the artist - älbum - tïtle 2
>   title: tïtle 2 -> modified tïtle 2
> the artist - älbum - tïtle 3
>   title: tïtle 3 -> modified tïtle 3
> the artist - älbum - tïtle 4
>   title: tïtle 4 -> modified tïtle 4
> the artist - älbum - tïtle 5
>   title: tïtle 5 -> modified tïtle 5
> the artist - älbum - tïtle 6
>   title: tïtle 6 -> modified tïtle 6
> the artist - älbum - tïtle 7
>   title: tïtle 7 -> modified tïtle 7
> the artist - älbum - tïtle 8
>   title: tïtle 8 -> modified tïtle 8
> the artist - älbum - tïtle 9
>   title: tïtle 9 -> modified tïtle 9
> continue [E]diting, Apply, Cancel? edit: saving changes to the artist - älbum - modified tïtle 0
> moving /tmp/tmp8jjoqkil/libdir/the artist/älbum/02 tïtle 0.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> edit: saving changes to the artist - älbum - modified tïtle 1
> moving /tmp/tmp8jjoqkil/libdir/the artist/älbum/02 tïtle 1.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> edit: saving changes to the artist - älbum - modified tïtle 2
> moving /tmp/tmp8jjoqkil/libdir/the artist/älbum/02 tïtle 2.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> edit: saving changes to the artist - älbum - modified tïtle 3
> moving /tmp/tmp8jjoqkil/libdir/the artist/älbum/02 tïtle 3.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> edit: saving changes to the artist - älbum - modified tïtle 4
> moving /tmp/tmp8jjoqkil/libdir/the artist/älbum/02 tïtle 4.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> edit: saving changes to the artist - älbum - modified tïtle 5
> moving /tmp/tmp8jjoqkil/libdir/the artist/älbum/02 tïtle 5.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> edit: saving changes to the artist - älbum - modified tïtle 6
> moving /tmp/tmp8jjoqkil/libdir/the artist/älbum/02 tïtle 6.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> edit: saving changes to the artist - älbum - modified tïtle 7
> moving /tmp/tmp8jjoqkil/libdir/the artist/älbum/02 tïtle 7.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> edit: saving changes to the artist - älbum - modified tïtle 8
> moving /tmp/tmp8jjoqkil/libdir/the artist/älbum/02 tïtle 8.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> edit: saving changes to the artist - älbum - modified tïtle 9
> moving /tmp/tmp8jjoqkil/libdir/the artist/älbum/02 tïtle 9.mp3 to synchronize path
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: cli_exit
> ok
> test_title_edit_discard (test_edit.EditCommandTest)
> Edit title for all items in the library, then discard changes. ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp1jep57k5/config.yaml
> data directory: /tmp/tmp1jep57k5
> plugin paths: 
> Sending event: pluginload
> the artist - älbum - tïtle 0
>   title: tïtle 0 -> modified tïtle 0
> the artist - älbum - tïtle 1
>   title: tïtle 1 -> modified tïtle 1
> the artist - älbum - tïtle 2
>   title: tïtle 2 -> modified tïtle 2
> the artist - älbum - tïtle 3
>   title: tïtle 3 -> modified tïtle 3
> the artist - älbum - tïtle 4
>   title: tïtle 4 -> modified tïtle 4
> the artist - älbum - tïtle 5
>   title: tïtle 5 -> modified tïtle 5
> the artist - älbum - tïtle 6
>   title: tïtle 6 -> modified tïtle 6
> the artist - älbum - tïtle 7
>   title: tïtle 7 -> modified tïtle 7
> the artist - älbum - tïtle 8
>   title: tïtle 8 -> modified tïtle 8
> the artist - älbum - tïtle 9
>   title: tïtle 9 -> modified tïtle 9
> continue [E]diting, Apply, Cancel? Sending event: cli_exit
> ok
> test_edit_apply_asis (test_edit.EditDuringImporterTest)
> Edit the album field for all items in the library, apply changes, ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpr8c1489y/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.44
> Sending event: albuminfo_received
> Candidate: Applied Artist M - Applied Album M (albumid M)
> Computing track assignment...
> ...done.
> Success. Distance: 0.46
> Evaluating 2 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> 0 of 3 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_edit_apply_asis_singleton (test_edit.EditDuringImporterTest)
> Edit the album field for all items in the library, apply changes, ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp1soe6rn4/testsrcdir/the_album/track_1.mp3
> Item search terms: Tag Artist - Tag Title 1
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> 0 of 1 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: import_task_files
> Sending event: item_imported
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp1soe6rn4/testsrcdir/the_album/track_2.mp3
> Item search terms: Tag Artist - Tag Title 2
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: before_choose_candidate
> ok
> test_edit_apply_candidate (test_edit.EditDuringImporterTest)
> Edit the album field for all items in the library, apply changes, ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp8bh83lwy/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.44
> Sending event: albuminfo_received
> Candidate: Applied Artist M - Applied Album M (albumid M)
> Computing track assignment...
> ...done.
> Success. Distance: 0.46
> Evaluating 2 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> 0 of 3 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_edit_apply_candidate_singleton (test_edit.EditDuringImporterTest)
> Edit the album field for all items in the library, apply changes, ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmptyhftih_/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.44
> Sending event: albuminfo_received
> Candidate: Applied Artist M - Applied Album M (albumid M)
> Computing track assignment...
> ...done.
> Success. Distance: 0.46
> Evaluating 2 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> 0 of 3 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_edit_discard_asis (test_edit.EditDuringImporterTest)
> Edit the album field for all items in the library, discard changes, ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmps2f7azn0/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.44
> Sending event: albuminfo_received
> Candidate: Applied Artist M - Applied Album M (albumid M)
> Computing track assignment...
> ...done.
> Success. Distance: 0.46
> Evaluating 2 candidates.
> Sending event: before_choose_candidate
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> 0 of 3 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_edit_discard_candidate (test_edit.EditDuringImporterTest)
> Edit the album field for all items in the library, discard changes, ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmpl3l7tqrz/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.44
> Sending event: albuminfo_received
> Candidate: Applied Artist M - Applied Album M (albumid M)
> Computing track assignment...
> ...done.
> Success. Distance: 0.46
> Evaluating 2 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> 0 of 3 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_edit_retag_apply (test_edit.EditDuringImporterTest)
> Import the album using a candidate, then retag and edit and apply ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp3n5gkbaj/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.44
> Sending event: albuminfo_received
> Candidate: Applied Artist M - Applied Album M (albumid M)
> Computing track assignment...
> ...done.
> Success. Distance: 0.46
> Evaluating 2 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Sending event: import_task_apply
> 0 of 3 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> Sending event: import_begin
> yielding album 1: Applied Artist - Applied Album
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp3n5gkbaj/libdir/Applied Artist/Applied Album
> Tagging Applied Artist - Applied Album
> Searching for discovered album ID: albumid
> Search terms: Applied Artist - Applied Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist - Applied Album (albumid)
> Computing track assignment...
> ...done.
> Success. Distance: 0.00
> Sending event: albuminfo_received
> Candidate: Applied Artist M - Applied Album M (albumid M)
> Computing track assignment...
> ...done.
> Success. Distance: 0.32
> Evaluating 2 candidates.
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> Replacing item 1: /tmp/tmp3n5gkbaj/libdir/Applied Artist/Applied Album/Applied Title 1.mp3
> Sending event: database_change
> Sending event: item_removed
> Replacing item 2: /tmp/tmp3n5gkbaj/libdir/Applied Artist/Applied Album/Applied Title 2.mp3
> Sending event: database_change
> Sending event: item_removed
> Replacing item 3: /tmp/tmp3n5gkbaj/libdir/Applied Artist/Applied Album/Applied Title 3.mp3
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> 3 of 3 items replaced
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Reimported album: added 1596388994.9442353, flexible attributes [] from album 1 for /tmp/tmp3n5gkbaj/libdir/Applied Artist/Applied Album
> Reimported item added 1596388994.9450498 from item 1 for /tmp/tmp3n5gkbaj/libdir/Applied Artist/Applied Album/Applied Title 1.mp3
> Reimported item flexible attributes [] from item 1 for /tmp/tmp3n5gkbaj/libdir/Applied Artist/Applied Album/Applied Title 1.mp3
> Sending event: database_change
> Reimported item added 1596388994.9457695 from item 2 for /tmp/tmp3n5gkbaj/libdir/Applied Artist/Applied Album/Applied Title 2.mp3
> Reimported item flexible attributes [] from item 2 for /tmp/tmp3n5gkbaj/libdir/Applied Artist/Applied Album/Applied Title 2.mp3
> Sending event: database_change
> Reimported item added 1596388994.9463985 from item 3 for /tmp/tmp3n5gkbaj/libdir/Applied Artist/Applied Album/Applied Title 3.mp3
> Reimported item flexible attributes [] from item 3 for /tmp/tmp3n5gkbaj/libdir/Applied Artist/Applied Album/Applied Title 3.mp3
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: import_task_files
> Sending event: album_imported
> ok
> test_osx_hidden (test_hidden.HiddenFileTest) ... skipped 'sys.platform is not darwin'
> test_other_hidden (test_hidden.HiddenFileTest) ... ok
> test_windows_hidden (test_hidden.HiddenFileTest) ... skipped 'sys.platform is not windows'
> test_basic (test_acousticbrainz.MapDataToSchemeTest) ... ok
> test_composite (test_acousticbrainz.MapDataToSchemeTest) ... ok
> test_realistic (test_acousticbrainz.MapDataToSchemeTest) ... ok
> test_recurse (test_acousticbrainz.MapDataToSchemeTest) ... ok
> test_compare_failed (test_embedart.ArtSimilarityTest) ... comparing images with pipeline ['convert', b'path', b'extracted_path', '-colorspace', 'gray', 'MIFF:-'] | ['compare', '-metric', 'PHASH', '-', 'null:']
> ImageMagick compare failed: path, extracted_path
> ok
> test_compare_parsing_error (test_embedart.ArtSimilarityTest) ... comparing images with pipeline ['convert', b'path', b'extracted_path', '-colorspace', 'gray', 'MIFF:-'] | ['compare', '-metric', 'PHASH', '-', 'null:']
> IM output is not a number: 'foo'
> ok
> test_compare_parsing_error_and_failure (test_embedart.ArtSimilarityTest) ... comparing images with pipeline ['convert', b'path', b'extracted_path', '-colorspace', 'gray', 'MIFF:-'] | ['compare', '-metric', 'PHASH', '-', 'null:']
> IM output is not a number: 'bar'
> ok
> test_compare_status1_different (test_embedart.ArtSimilarityTest) ... comparing images with pipeline ['convert', b'path', b'extracted_path', '-colorspace', 'gray', 'MIFF:-'] | ['compare', '-metric', 'PHASH', '-', 'null:']
> ImageMagick compare score: 10.0
> ok
> test_compare_status1_similar (test_embedart.ArtSimilarityTest) ... comparing images with pipeline ['convert', b'path', b'extracted_path', '-colorspace', 'gray', 'MIFF:-'] | ['compare', '-metric', 'PHASH', '-', 'null:']
> ImageMagick compare score: 10.0
> ok
> test_compare_success_different (test_embedart.ArtSimilarityTest) ... comparing images with pipeline ['convert', b'path', b'extracted_path', '-colorspace', 'gray', 'MIFF:-'] | ['compare', '-metric', 'PHASH', '-', 'null:']
> ImageMagick compare score: 10.0
> ok
> test_compare_success_similar (test_embedart.ArtSimilarityTest) ... comparing images with pipeline ['convert', b'path', b'extracted_path', '-colorspace', 'gray', 'MIFF:-'] | ['compare', '-metric', 'PHASH', '-', 'null:']
> ImageMagick compare score: 10.0
> ok
> test_convert_failure (test_embedart.ArtSimilarityTest) ... comparing images with pipeline ['convert', b'path', b'extracted_path', '-colorspace', 'gray', 'MIFF:-'] | ['compare', '-metric', 'PHASH', '-', 'null:']
> ImageMagick convert failed with status 1: <MagicMock name='mock.stderr.read()' id='139861103119568'>
> ok
> test_accept_similar_art (test_embedart.EmbedartCliTest) ... ImageMagick version check failed: [Errno 2] No such file or directory: 'magick'
> ImageMagick version check failed: [Errno 2] No such file or directory: 'convert'
> artresizer: method is (3, 0)
> skipped 'compare not available'
> test_art_file_missing (test_embedart.EmbedartCliTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp_5huadu0/config.yaml
> data directory: /tmp/tmp_5huadu0
> plugin paths: 
> Sending event: pluginload
> ok
> test_clear_art_with_no_input (test_embedart.EmbedartCliTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpwtb09f2v/config.yaml
> data directory: /tmp/tmpwtb09f2v
> plugin paths: 
> Sending event: pluginload
> embedart: embedding /<<PKGBUILDDIR>>/test/rsrc/image-2x3.jpg
> Sending event: write
> Sending event: after_write
> Sending event: cli_exit
> no user configuration found at /tmp/tmpwtb09f2v/config.yaml
> data directory: /tmp/tmpwtb09f2v
> plugin paths: 
> Sending event: pluginload
> Sending event: cli_exit
> ok
> test_clear_art_with_yes_input (test_embedart.EmbedartCliTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpymk6illd/config.yaml
> data directory: /tmp/tmpymk6illd
> plugin paths: 
> Sending event: pluginload
> embedart: embedding /<<PKGBUILDDIR>>/test/rsrc/image-2x3.jpg
> Sending event: write
> Sending event: after_write
> Sending event: cli_exit
> no user configuration found at /tmp/tmpymk6illd/config.yaml
> data directory: /tmp/tmpymk6illd
> plugin paths: 
> Sending event: pluginload
> embedart: Clearing album art from 1 items
> embedart: Clearing art for the artist - älbum - tïtle 0
> Sending event: write
> Sending event: after_write
> Sending event: cli_exit
> ok
> test_embed_art_from_album (test_embedart.EmbedartCliTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmphseco92f/config.yaml
> data directory: /tmp/tmphseco92f
> plugin paths: 
> Sending event: pluginload
> embedart: Embedding album art into the album artist - älbum
> embedart: embedding /<<PKGBUILDDIR>>/test/rsrc/image-2x3.jpg
> Sending event: write
> Sending event: after_write
> Sending event: cli_exit
> ok
> test_embed_art_from_file (test_embedart.EmbedartCliTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpp4759icp/config.yaml
> data directory: /tmp/tmpp4759icp
> plugin paths: 
> Sending event: pluginload
> embedart: embedding /<<PKGBUILDDIR>>/test/rsrc/image-2x3.jpg
> Sending event: write
> Sending event: after_write
> Sending event: cli_exit
> ok
> test_embed_art_from_file_with_no_input (test_embedart.EmbedartCliTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpn9ej0fde/config.yaml
> data directory: /tmp/tmpn9ej0fde
> plugin paths: 
> Sending event: pluginload
> Sending event: cli_exit
> ok
> test_embed_art_from_file_with_yes_input (test_embedart.EmbedartCliTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp69rn8md_/config.yaml
> data directory: /tmp/tmp69rn8md_
> plugin paths: 
> Sending event: pluginload
> embedart: embedding /<<PKGBUILDDIR>>/test/rsrc/image-2x3.jpg
> Sending event: write
> Sending event: after_write
> Sending event: cli_exit
> ok
> test_embed_art_remove_art_file (test_embedart.EmbedartCliTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp7xglfewz/config.yaml
> data directory: /tmp/tmp7xglfewz
> plugin paths: 
> Sending event: pluginload
> embedart: Embedding album art into the album artist - älbum
> embedart: embedding /tmp/tmpo2vh55yg
> Sending event: write
> Sending event: after_write
> embedart: Removing album art file for the album artist - älbum
> Sending event: database_change
> Sending event: cli_exit
> ok
> test_embed_non_image_file (test_embedart.EmbedartCliTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp3osgwgft/config.yaml
> data directory: /tmp/tmp3osgwgft
> plugin paths: 
> Sending event: pluginload
> embedart: embedding /tmp/tmpmxbk_90s
> embedart: not embedding image of unsupported type: image/x-None
> Sending event: cli_exit
> ok
> test_extracted_extension (test_embedart.EmbedartCliTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp90eq8_m3/config.yaml
> data directory: /tmp/tmp90eq8_m3
> plugin paths: 
> Sending event: pluginload
> embedart: Extracting album art from: the artist - älbum - tïtle 0 to: /tmp/tmp90eq8_m3/libdir/the artist/älbum/extracted.jpg
> Sending event: cli_exit
> ok
> test_non_ascii_album_path (test_embedart.EmbedartCliTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp0uzyic16/config.yaml
> data directory: /tmp/tmp0uzyic16
> plugin paths: 
> Sending event: pluginload
> embedart: Extracting album art from: the artist - älbum - tïtle 0 to: /tmp/tmp0uzyic16/libdir/the artist/älbum/extracted.png
> Sending event: cli_exit
> ok
> test_reject_different_art (test_embedart.EmbedartCliTest) ... skipped 'compare not available'
> test_item_add_inserts_row (test_library.AddTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_library_add_path_inserts_row (test_library.AddTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_album_items_consistent (test_library.AlbumInfoTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_albuminfo_change_albumartist_changes_items (test_library.AlbumInfoTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_albuminfo_change_artist_does_not_change_items (test_library.AlbumInfoTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_albuminfo_changes_affect_items (test_library.AlbumInfoTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_albuminfo_for_two_items_doesnt_duplicate_row (test_library.AlbumInfoTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_albuminfo_reflects_metadata (test_library.AlbumInfoTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_albuminfo_remove_removes_items (test_library.AlbumInfoTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> ok
> test_albuminfo_stores_art (test_library.AlbumInfoTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_get_album_by_id (test_library.AlbumInfoTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_individual_tracks_have_no_albuminfo (test_library.AlbumInfoTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_noop_albuminfo_changes_affect_items (test_library.AlbumInfoTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_removing_last_item_removes_album (test_library.AlbumInfoTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> ok
> test_art_filename_respects_setting (test_library.ArtDestinationTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_art_path_in_item_dir (test_library.ArtDestinationTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_art_path_sanitized (test_library.ArtDestinationTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_asciify_variable (test_library.DestinationFunctionTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_first (test_library.DestinationFunctionTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_first_different_sep (test_library.DestinationFunctionTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_first_skip (test_library.DestinationFunctionTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_if_def_false_complete (test_library.DestinationFunctionTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_if_def_field_not_defined (test_library.DestinationFunctionTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_if_def_field_not_defined_2 (test_library.DestinationFunctionTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_if_def_field_return_self (test_library.DestinationFunctionTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_if_def_true (test_library.DestinationFunctionTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_if_def_true_complete (test_library.DestinationFunctionTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_if_else_false (test_library.DestinationFunctionTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_if_else_false_value (test_library.DestinationFunctionTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_if_false (test_library.DestinationFunctionTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_if_false_value (test_library.DestinationFunctionTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_if_int_value (test_library.DestinationFunctionTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_if_true (test_library.DestinationFunctionTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_left_variable (test_library.DestinationFunctionTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_nonexistent_function (test_library.DestinationFunctionTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_right_variable (test_library.DestinationFunctionTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_title_case_variable (test_library.DestinationFunctionTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_title_case_variable_aphostrophe (test_library.DestinationFunctionTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_upper_case_literal (test_library.DestinationFunctionTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_upper_case_variable (test_library.DestinationFunctionTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_albumartist_falls_back_to_artist (test_library.DestinationTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_albumartist_overrides_artist (test_library.DestinationTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_albumtype_path_fallback_to_comp (test_library.DestinationTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_albumtype_query_path (test_library.DestinationTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_artist_falls_back_to_albumartist (test_library.DestinationTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_artist_overrides_albumartist (test_library.DestinationTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_asciify_and_replace (test_library.DestinationTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_asciify_character_expanding_to_slash (test_library.DestinationTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_comp_before_singleton_path (test_library.DestinationTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_comp_path (test_library.DestinationTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_default_path_for_non_compilations (test_library.DestinationTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_destination_escapes_leading_dot (test_library.DestinationTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_destination_escapes_slashes (test_library.DestinationTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_destination_long_names_keep_extension (test_library.DestinationTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_destination_long_names_truncated (test_library.DestinationTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_destination_pads_date_values (test_library.DestinationTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_destination_pads_some_indices (test_library.DestinationTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_destination_preserves_extension (test_library.DestinationTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_destination_preserves_legitimate_slashes (test_library.DestinationTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_destination_substitutes_metadata_values (test_library.DestinationTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_destination_with_empty_component (test_library.DestinationTest) ... skipped 'unimplemented: #359'
> test_destination_with_empty_final_component (test_library.DestinationTest) ... skipped 'unimplemented: #359'
> test_destination_with_replacements (test_library.DestinationTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_directory_works_with_trailing_slash (test_library.DestinationTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_directory_works_without_trailing_slash (test_library.DestinationTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_distination_windows_removes_both_separators (test_library.DestinationTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_get_formatted_datetime (test_library.DestinationTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_get_formatted_does_not_replace_separators (test_library.DestinationTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_get_formatted_none (test_library.DestinationTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_get_formatted_pads_with_zero (test_library.DestinationTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_get_formatted_uses_kbps_bitrate (test_library.DestinationTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_get_formatted_uses_khz_samplerate (test_library.DestinationTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_heterogeneous_album_gets_single_directory (test_library.DestinationTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_legalize_path_one_for_many_replacement (test_library.DestinationTest) ... Sending event: database_change
> Sending event: database_change
> Fell back to default replacements when naming file the artist/the album/04 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX. Configure replacements to avoid lengthening the filename.
> ok
> test_legalize_path_one_for_one_replacement (test_library.DestinationTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_lower_case_extension (test_library.DestinationTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_non_mbcs_characters_on_windows (test_library.DestinationTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_path_with_format (test_library.DestinationTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_singleton_path (test_library.DestinationTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_unicode_extension_in_fragment (test_library.DestinationTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_unicode_normalized_nfc_on_linux (test_library.DestinationTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_unicode_normalized_nfd_on_mac (test_library.DestinationTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_change_brackets (test_library.DisambiguationTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_drop_empty_disambig_string (test_library.DisambiguationTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_remove_brackets (test_library.DisambiguationTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_unique_expands_to_disambiguating_year (test_library.DisambiguationTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_unique_expands_to_nothing_for_distinct_albums (test_library.DisambiguationTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_unique_falls_back_to_second_distinguishing_field (test_library.DisambiguationTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_unique_sanitized (test_library.DisambiguationTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_unique_with_default_arguments_uses_albumtype (test_library.DisambiguationTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_use_fallback_numbers_when_identical (test_library.DisambiguationTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_filesize (test_library.FilesizeTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> ok
> test_nonexistent_file (test_library.FilesizeTest) ... could not get filesize: [Errno 2] No such file or directory: b''
> ok
> test_invalid_field_raises_attributeerror (test_library.GetSetTest) ... ok
> test_set_changes_value (test_library.GetSetTest) ... ok
> test_set_does_not_dirty_if_value_unchanged (test_library.GetSetTest) ... ok
> test_set_sets_dirty_flag (test_library.GetSetTest) ... ok
> test_atime_for_singleton (test_library.ImportTimeTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_album_field_overrides_item_field_for_path (test_library.ItemFormattedMappingTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_album_flex_field (test_library.ItemFormattedMappingTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_albumartist_falls_back_to_artist (test_library.ItemFormattedMappingTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_artist_falls_back_to_albumartist (test_library.ItemFormattedMappingTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_both_artist_and_albumartist_empty (test_library.ItemFormattedMappingTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_formatted_item_value (test_library.ItemFormattedMappingTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_get_method_with_default (test_library.ItemFormattedMappingTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_get_method_with_specified_default (test_library.ItemFormattedMappingTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_get_unset_field (test_library.ItemFormattedMappingTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_item_precedence (test_library.ItemFormattedMappingTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_nonexistent_raise_read_error (test_library.ItemReadTest) ... open failed: [Errno 2] No such file or directory: b'/thisfiledoesnotexist'
> ok
> test_unreadable_raise_read_error (test_library.ItemReadTest) ... ok
> test_datetype (test_library.LibraryFieldTypesTest) ... ok
> test_durationtype (test_library.LibraryFieldTypesTest) ... ok
> test_musicalkey (test_library.LibraryFieldTypesTest) ... ok
> test_pathtype (test_library.LibraryFieldTypesTest) ... ok
> test_load_clears_dirty_flags (test_library.LoadTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_load_restores_data_from_db (test_library.LoadTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_mtime_initially_up_to_date (test_library.MtimeTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_mtime_reset_on_db_modify (test_library.MtimeTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_mtime_up_to_date_after_read (test_library.MtimeTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_mtime_up_to_date_after_write (test_library.MtimeTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> ok
> test_parse_bytes (test_library.ParseQueryTest) ... ok
> test_parse_invalid_query_string (test_library.ParseQueryTest) ... ok
> test_art_destination_returns_bytestring (test_library.PathStringTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_artpath_stores_special_chars (test_library.PathStringTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_destination_returns_bytestring (test_library.PathStringTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_fetched_item_path_is_bytestring (test_library.PathStringTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_item_path_is_bytestring (test_library.PathStringTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_sanitize_path_returns_unicode (test_library.PathStringTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_sanitize_path_with_special_chars (test_library.PathStringTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_special_char_path_added_to_database (test_library.PathStringTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> Sending event: database_change
> Sending event: database_change
> ok
> test_special_chars_preserved_in_database (test_library.PathStringTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_unicode_artpath_becomes_bytestring (test_library.PathStringTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_unicode_artpath_in_database_decoded (test_library.PathStringTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_unicode_in_database_becomes_bytestring (test_library.PathStringTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_unicode_path_becomes_bytestring (test_library.PathStringTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_plugin_value_not_substituted (test_library.PluginDestinationTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_plugin_value_overrides_attribute (test_library.PluginDestinationTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_plugin_value_sanitized (test_library.PluginDestinationTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_undefined_value_not_substituted (test_library.PluginDestinationTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_remove_deletes_from_db (test_library.RemoveTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> ok
> test_store_changes_database_value (test_library.StoreTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_store_clears_dirty_flags (test_library.StoreTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_store_only_writes_dirty_fields (test_library.StoreTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_album_and_item_format (test_library.TemplateTest) ... Sending event: database_change
> Sending event: database_change
> ok
> test_album_flexattr_appears_in_item_template (test_library.TemplateTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_year_formatted_in_template (test_library.TemplateTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_unicode_path (test_library.UnicodePathTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> ok
> test_no_write_permission (test_library.WriteTest) ... skipped 'fails under some autopkgtests'
> test_write_custom_tags (test_library.WriteTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> ok
> test_write_date_field (test_library.WriteTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> ok
> test_write_nonexistant (test_library.WriteTest) ... Sending event: write
> open failed: [Errno 2] No such file or directory: b'/path/does/not/exist'
> ok
> test_write_with_custom_path (test_library.WriteTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> ok
> test_pull (test_pipeline.BubbleTest) ... ok
> test_run_parallel (test_pipeline.BubbleTest) ... ok
> test_run_sequential (test_pipeline.BubbleTest) ... ok
> test_constrained (test_pipeline.ConstrainedThreadedPipelineTest) ... ok
> test_constrained_exception (test_pipeline.ConstrainedThreadedPipelineTest) ... ok
> test_constrained_parallel (test_pipeline.ConstrainedThreadedPipelineTest) ... ok
> test_pull (test_pipeline.ExceptionTest) ... ok
> test_run_parallel (test_pipeline.ExceptionTest) ... ok
> test_run_sequential (test_pipeline.ExceptionTest) ... ok
> test_pull (test_pipeline.MultiMessageTest) ... ok
> test_run_parallel (test_pipeline.MultiMessageTest) ... ok
> test_run_sequential (test_pipeline.MultiMessageTest) ... ok
> test_run_parallel (test_pipeline.ParallelExceptionTest) ... ok
> test_pull (test_pipeline.ParallelStageTest) ... ok
> test_run_parallel (test_pipeline.ParallelStageTest) ... ok
> test_run_sequential (test_pipeline.ParallelStageTest) ... ok
> test_pull (test_pipeline.SimplePipelineTest) ... ok
> test_pull_chain (test_pipeline.SimplePipelineTest) ... ok
> test_run_parallel (test_pipeline.SimplePipelineTest) ... ok
> test_run_sequential (test_pipeline.SimplePipelineTest) ... ok
> test_mutator_stage_decorator (test_pipeline.StageDecoratorTest) ... ok
> test_stage_decorator (test_pipeline.StageDecoratorTest) ... ok
> test_add_tags (test_thumbnails.ThumbnailsTest) ... ok
> test_check_local_ok (test_thumbnails.ThumbnailsTest) ... thumbnails: No local image resizing capabilities, cannot generate thumbnails
> thumbnails: No local image resizing capabilities, cannot generate thumbnails
> thumbnails: using IM to write metadata
> thumbnails: using <MagicMock name='GioURI().name' id='139861103067584'> to compute URIs
> thumbnails: using IM to write metadata
> thumbnails: using <MagicMock name='GioURI().name' id='139861103067584'> to compute URIs
> thumbnails: using PIL to write metadata
> thumbnails: using <MagicMock name='GioURI().name' id='139861103067584'> to compute URIs
> thumbnails: using IM to write metadata
> thumbnails: using <MagicMock name='GioURI().name' id='139861103067584'> to compute URIs
> thumbnails: using IM to write metadata
> thumbnails: using <MagicMock name='GioURI().name' id='139861103067584'> to compute URIs
> thumbnails: using IM to write metadata
> thumbnails: using <MagicMock name='GioURI().name' id='139861103067584'> to compute URIs
> thumbnails: using IM to write metadata
> thumbnails: using <MagicMock name='GioURI().name' id='139861103067584'> to compute URIs
> thumbnails: using IM to write metadata
> thumbnails: using <MagicMock name='GioURI().name' id='139861103067584'> to compute URIs
> thumbnails: using IM to write metadata
> thumbnails: using Python Pathlib to compute URIs
> ok
> test_invokations (test_thumbnails.ThumbnailsTest) ... ok
> test_make_cover_thumbnail (test_thumbnails.ThumbnailsTest) ... thumbnails: 12345x12345 thumbnail for <Mock id='139861102956160'> exists and is recent enough
> thumbnails: found a suitable 12345x12345 thumbnail for <Mock id='139861102956160'>, forcing regeneration
> ok
> test_make_dolphin_cover_thumbnail (test_thumbnails.ThumbnailsTest) ... thumbnails: Wrote file /tmp/tmpnsxiv7li/.directory
> ok
> test_process_album (test_thumbnails.ThumbnailsTest) ... thumbnails: generating thumbnail for <Mock id='139861103433376'>
> thumbnails: album <Mock id='139861103433376'> has no art
> thumbnails: generating thumbnail for <Mock id='139861103433376'>
> thumbnails: problem getting the picture size for /path/to/art
> thumbnails: generating thumbnail for <Mock id='139861103433376'>
> thumbnails: problem getting the picture size for /path/to/art
> thumbnails: generating thumbnail for <Mock id='139861103433376'>
> thumbnails: problem getting the picture size for /path/to/art
> thumbnails: generating thumbnail for <Mock id='139861103433376'>
> thumbnails: wrote thumbnail for <Mock id='139861103433376'>
> thumbnails: generating thumbnail for <Mock id='139861103433376'>
> thumbnails: wrote thumbnail for <Mock id='139861103433376'>
> ok
> test_thumbnail_file_name (test_thumbnails.ThumbnailsTest) ... thumbnails: No local image resizing capabilities, cannot generate thumbnails
> ok
> test_uri (test_thumbnails.ThumbnailsTest) ... ok
> test_write_metadata_im (test_thumbnails.ThumbnailsTest) ... ok
> test_album_integer_modify_and_query (test_types_plugin.TypesPluginTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp0_jz2_x2/config.yaml
> data directory: /tmp/tmp0_jz2_x2
> plugin paths: 
> Sending event: pluginload
> Sending event: cli_exit
> no user configuration found at /tmp/tmp0_jz2_x2/config.yaml
> data directory: /tmp/tmp0_jz2_x2
> plugin paths: 
> Sending event: pluginload
> Sending event: database_change
> Sending event: database_change
> Sending event: cli_exit
> no user configuration found at /tmp/tmp0_jz2_x2/config.yaml
> data directory: /tmp/tmp0_jz2_x2
> plugin paths: 
> Sending event: pluginload
> Sending event: cli_exit
> ok
> test_bool_modify_and_query (test_types_plugin.TypesPluginTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp49k85wej/config.yaml
> data directory: /tmp/tmp49k85wej
> plugin paths: 
> Sending event: pluginload
> Sending event: cli_exit
> no user configuration found at /tmp/tmp49k85wej/config.yaml
> data directory: /tmp/tmp49k85wej
> plugin paths: 
> Sending event: pluginload
> Sending event: database_change
> Sending event: cli_exit
> no user configuration found at /tmp/tmp49k85wej/config.yaml
> data directory: /tmp/tmp49k85wej
> plugin paths: 
> Sending event: pluginload
> Sending event: database_change
> Sending event: cli_exit
> no user configuration found at /tmp/tmp49k85wej/config.yaml
> data directory: /tmp/tmp49k85wej
> plugin paths: 
> Sending event: pluginload
> Sending event: cli_exit
> no user configuration found at /tmp/tmp49k85wej/config.yaml
> data directory: /tmp/tmp49k85wej
> plugin paths: 
> Sending event: pluginload
> Sending event: cli_exit
> ok
> test_date_modify_and_query (test_types_plugin.TypesPluginTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp49fchddg/config.yaml
> data directory: /tmp/tmp49fchddg
> plugin paths: 
> Sending event: pluginload
> Sending event: cli_exit
> no user configuration found at /tmp/tmp49fchddg/config.yaml
> data directory: /tmp/tmp49fchddg
> plugin paths: 
> Sending event: pluginload
> Sending event: database_change
> Sending event: cli_exit
> no user configuration found at /tmp/tmp49fchddg/config.yaml
> data directory: /tmp/tmp49fchddg
> plugin paths: 
> Sending event: pluginload
> Sending event: database_change
> Sending event: cli_exit
> no user configuration found at /tmp/tmp49fchddg/config.yaml
> data directory: /tmp/tmp49fchddg
> plugin paths: 
> Sending event: pluginload
> Sending event: cli_exit
> ok
> test_float_modify_and_query (test_types_plugin.TypesPluginTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp10hec2ii/config.yaml
> data directory: /tmp/tmp10hec2ii
> plugin paths: 
> Sending event: pluginload
> Sending event: cli_exit
> no user configuration found at /tmp/tmp10hec2ii/config.yaml
> data directory: /tmp/tmp10hec2ii
> plugin paths: 
> Sending event: pluginload
> Sending event: database_change
> Sending event: cli_exit
> no user configuration found at /tmp/tmp10hec2ii/config.yaml
> data directory: /tmp/tmp10hec2ii
> plugin paths: 
> Sending event: pluginload
> Sending event: cli_exit
> ok
> test_integer_modify_and_query (test_types_plugin.TypesPluginTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp3_o61n7k/config.yaml
> data directory: /tmp/tmp3_o61n7k
> plugin paths: 
> Sending event: pluginload
> Sending event: cli_exit
> no user configuration found at /tmp/tmp3_o61n7k/config.yaml
> data directory: /tmp/tmp3_o61n7k
> plugin paths: 
> Sending event: pluginload
> Sending event: database_change
> Sending event: cli_exit
> no user configuration found at /tmp/tmp3_o61n7k/config.yaml
> data directory: /tmp/tmp3_o61n7k
> plugin paths: 
> Sending event: pluginload
> Sending event: cli_exit
> ok
> test_unknown_type_error (test_types_plugin.TypesPluginTest) ... no user configuration found at /tmp/tmpbt6ge2ha/config.yaml
> data directory: /tmp/tmpbt6ge2ha
> plugin paths: 
> Sending event: pluginload
> ok
> test_day_precision_intervals (test_datequery.DateIntervalTest) ... ok
> test_hour_precision_intervals (test_datequery.DateIntervalTest) ... ok
> test_minute_precision_intervals (test_datequery.DateIntervalTest) ... ok
> test_month_precision_intervals (test_datequery.DateIntervalTest) ... ok
> test_second_precision_intervals (test_datequery.DateIntervalTest) ... ok
> test_unbounded_endpoints (test_datequery.DateIntervalTest) ... ok
> test_year_precision_intervals (test_datequery.DateIntervalTest) ... ok
> test_datetime_invalid_separator (test_datequery.DateQueryConstructTest) ... ok
> test_datetime_lowercase_t_separator (test_datequery.DateQueryConstructTest) ... ok
> test_datetime_space_separator (test_datequery.DateQueryConstructTest) ... ok
> test_datetime_uppercase_t_separator (test_datequery.DateQueryConstructTest) ... ok
> test_invalid_date_query (test_datequery.DateQueryConstructTest) ... ok
> test_long_numbers (test_datequery.DateQueryConstructTest) ... ok
> test_too_many_components (test_datequery.DateQueryConstructTest) ... ok
> test_single_day_match_fast (test_datequery.DateQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_single_day_nonmatch_fast (test_datequery.DateQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_single_month_match_fast (test_datequery.DateQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_single_month_match_slow (test_datequery.DateQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_single_month_nonmatch_fast (test_datequery.DateQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_single_month_nonmatch_slow (test_datequery.DateQueryTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_single_day_match_fast (test_datequery.DateQueryTestRelative) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_single_day_nonmatch_fast (test_datequery.DateQueryTestRelative) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_single_month_match_fast (test_datequery.DateQueryTestRelative) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_single_month_match_slow (test_datequery.DateQueryTestRelative) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_single_month_nonmatch_fast (test_datequery.DateQueryTestRelative) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_single_month_nonmatch_slow (test_datequery.DateQueryTestRelative) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_end_relative (test_datequery.DateQueryTestRelativeMore) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_end_relative_fail (test_datequery.DateQueryTestRelativeMore) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_relative (test_datequery.DateQueryTestRelativeMore) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_relative_fail (test_datequery.DateQueryTestRelativeMore) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_start_relative (test_datequery.DateQueryTestRelativeMore) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_start_relative_fail (test_datequery.DateQueryTestRelativeMore) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_get_music_section (test_plexupdate.PlexUpdateTest) ... ok
> test_get_named_music_section (test_plexupdate.PlexUpdateTest) ... ok
> test_update_plex (test_plexupdate.PlexUpdateTest) ... ok
> test_import_album (test_filefilter.FileFilterPluginTest) ... Sending event: import_begin
> Sending event: import_task_created
> Album: /tmp/tmp01dcbxr3/testsrcdir/artist
>   /tmp/tmp01dcbxr3/testsrcdir/artist/track_1.mp3
> Sending event: import_task_created
> Sending event: import_task_created
> Album: /tmp/tmp01dcbxr3/testsrcdir/misc
>   /tmp/tmp01dcbxr3/testsrcdir/misc/track_1.mp3
> Sending event: import_begin
> Sending event: import_task_created
> Singleton: /tmp/tmp01dcbxr3/testsrcdir/artist/track_1.mp3
> Sending event: import_task_created
> Singleton: /tmp/tmp01dcbxr3/testsrcdir/artist/track_2.mp3
> Sending event: import_task_created
> Singleton: /tmp/tmp01dcbxr3/testsrcdir/artist/album/01 - track.mp3
> Sending event: import_task_created
> Singleton: /tmp/tmp01dcbxr3/testsrcdir/artist/album/02 - track.mp3
> Sending event: import_task_created
> Singleton: /tmp/tmp01dcbxr3/testsrcdir/misc/track_1.mp3
> Sending event: import_task_created
> Singleton: /tmp/tmp01dcbxr3/testsrcdir/misc/track_2.mp3
> ok
> test_import_both (test_filefilter.FileFilterPluginTest) ... Sending event: import_begin
> Sending event: import_task_created
> Album: /tmp/tmpe7_6x9yh/testsrcdir/artist
>   /tmp/tmpe7_6x9yh/testsrcdir/artist/track_1.mp3
> Sending event: import_task_created
> Sending event: import_task_created
> Album: /tmp/tmpe7_6x9yh/testsrcdir/misc
>   /tmp/tmpe7_6x9yh/testsrcdir/misc/track_1.mp3
> Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_created
> Singleton: /tmp/tmpe7_6x9yh/testsrcdir/artist/track_2.mp3
> Sending event: import_task_created
> Sending event: import_task_created
> Sending event: import_task_created
> Sending event: import_task_created
> Singleton: /tmp/tmpe7_6x9yh/testsrcdir/misc/track_2.mp3
> ok
> test_import_default (test_filefilter.FileFilterPluginTest)
> The default configuration should import everything. ... Sending event: import_begin
> Sending event: import_task_created
> Album: /tmp/tmpwnoqcu4u/testsrcdir/artist
>   /tmp/tmpwnoqcu4u/testsrcdir/artist/track_1.mp3
>   /tmp/tmpwnoqcu4u/testsrcdir/artist/track_2.mp3
> Sending event: import_task_created
> Album: /tmp/tmpwnoqcu4u/testsrcdir/artist/album
>   /tmp/tmpwnoqcu4u/testsrcdir/artist/album/01 - track.mp3
>   /tmp/tmpwnoqcu4u/testsrcdir/artist/album/02 - track.mp3
> Sending event: import_task_created
> Album: /tmp/tmpwnoqcu4u/testsrcdir/misc
>   /tmp/tmpwnoqcu4u/testsrcdir/misc/track_1.mp3
>   /tmp/tmpwnoqcu4u/testsrcdir/misc/track_2.mp3
> ok
> test_import_global (test_filefilter.FileFilterPluginTest) ... Sending event: import_begin
> Sending event: import_task_created
> Album: /tmp/tmpldbqw6cv/testsrcdir/artist
>   /tmp/tmpldbqw6cv/testsrcdir/artist/track_1.mp3
> Sending event: import_task_created
> Sending event: import_task_created
> Album: /tmp/tmpldbqw6cv/testsrcdir/misc
>   /tmp/tmpldbqw6cv/testsrcdir/misc/track_1.mp3
> Sending event: import_begin
> Sending event: import_task_created
> Singleton: /tmp/tmpldbqw6cv/testsrcdir/artist/track_1.mp3
> Sending event: import_task_created
> Sending event: import_task_created
> Sending event: import_task_created
> Sending event: import_task_created
> Singleton: /tmp/tmpldbqw6cv/testsrcdir/misc/track_1.mp3
> Sending event: import_task_created
> ok
> test_import_nothing (test_filefilter.FileFilterPluginTest) ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_created
> Sending event: import_task_created
> No files imported from /tmp/tmpof43lkzs/testsrcdir
> ok
> test_import_singleton (test_filefilter.FileFilterPluginTest) ... Sending event: import_begin
> Sending event: import_task_created
> Singleton: /tmp/tmpwdq4c2pc/testsrcdir/artist/track_1.mp3
> Sending event: import_task_created
> Sending event: import_task_created
> Sending event: import_task_created
> Sending event: import_task_created
> Singleton: /tmp/tmpwdq4c2pc/testsrcdir/misc/track_1.mp3
> Sending event: import_task_created
> Sending event: import_begin
> Sending event: import_task_created
> Album: /tmp/tmpwdq4c2pc/testsrcdir/artist
>   /tmp/tmpwdq4c2pc/testsrcdir/artist/track_1.mp3
>   /tmp/tmpwdq4c2pc/testsrcdir/artist/track_2.mp3
> Sending event: import_task_created
> Album: /tmp/tmpwdq4c2pc/testsrcdir/artist/album
>   /tmp/tmpwdq4c2pc/testsrcdir/artist/album/01 - track.mp3
>   /tmp/tmpwdq4c2pc/testsrcdir/artist/album/02 - track.mp3
> Sending event: import_task_created
> Album: /tmp/tmpwdq4c2pc/testsrcdir/misc
>   /tmp/tmpwdq4c2pc/testsrcdir/misc/track_1.mp3
>   /tmp/tmpwdq4c2pc/testsrcdir/misc/track_2.mp3
> ok
> test_album_art (test_zero.ZeroPluginTest) ... Sending event: write
> Sending event: after_write
> ok
> test_auto_false (test_zero.ZeroPluginTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: write
> Sending event: after_write
> ok
> test_change_database (test_zero.ZeroPluginTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: write
> Sending event: after_write
> ok
> test_do_not_change_database (test_zero.ZeroPluginTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: write
> Sending event: after_write
> ok
> test_empty_query_n_response_no_changes (test_zero.ZeroPluginTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> no user configuration found at /tmp/tmp1sh6wl_b/config.yaml
> data directory: /tmp/tmp1sh6wl_b
> plugin paths: 
> Sending event: pluginload
> Remove fields for all items? (Y/n) 
> Modifying 1 albums.
> aaa - the älbum - $title
>   myint: 2
> 
> aaa - the älbum - $title
> 
> 
> Modifying 1 items.
> true - the älbum - tïtle 0
>   mybool: True
> 
> Modifying 1 items.
> false - the älbum - tïtle 0
>   mybool: False
> 
> true True
> 
> false False
> 
> 
> Modifying 1 items.
> prince - the älbum - tïtle 0
>   mydate: 1999-01-01
> 
> Modifying 1 items.
> britney - the älbum - tïtle 0
>   mydate: 1999-12-30
> 
> prince 1999-01-01
> 
> 
> Modifying 1 items.
> aaa - the älbum - tïtle 0
>   myfloat: -9.1
> 
> aaa - the älbum - tïtle 0
> 
> 
> Modifying 1 items.
> aaa - the älbum - tïtle 0
>   myint: 2
> 
> aaa - the älbum - tïtle 0
> 
> Sending event: cli_exit
> ok
> test_fields_removes_preserved_tags (test_zero.ZeroPluginTest) ... zero: invalid field: year id
> ok
> test_keep_fields (test_zero.ZeroPluginTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> zero: title:  -> None
> zero: artist:  -> None
> zero: album:  -> None
> zero: genres:  -> None
> zero: genre:  -> None
> zero: lyricist:  -> None
> zero: composer:  -> None
> zero: composer_sort:  -> None
> zero: arranger:  -> None
> zero: grouping:  -> None
> zero: track:  -> None
> zero: tracktotal:  -> None
> zero: disc:  -> None
> zero: disctotal:  -> None
> zero: lyrics:  -> None
> zero: comments: test comment -> None
> zero: bpm:  -> None
> zero: comp:  -> None
> zero: albumartist:  -> None
> zero: albumtype:  -> None
> zero: label:  -> None
> zero: artist_sort:  -> None
> zero: albumartist_sort:  -> None
> zero: asin:  -> None
> zero: catalognum:  -> None
> zero: disctitle:  -> None
> zero: encoder:  -> None
> zero: script:  -> None
> zero: language:  -> None
> zero: country:  -> None
> zero: albumstatus:  -> None
> zero: media:  -> None
> zero: albumdisambig:  -> None
> zero: date:  -> None
> zero: month:  -> None
> zero: day:  -> None
> zero: original_date:  -> None
> zero: original_year:  -> None
> zero: original_month:  -> None
> zero: original_day:  -> None
> zero: artist_credit:  -> None
> zero: albumartist_credit:  -> None
> zero: art:  -> None
> zero: images:  -> None
> zero: mb_trackid:  -> None
> zero: mb_releasetrackid:  -> None
> zero: mb_albumid:  -> None
> zero: mb_artistid:  -> None
> zero: mb_albumartistid:  -> None
> zero: mb_releasegroupid:  -> None
> zero: acoustid_fingerprint:  -> None
> zero: acoustid_id:  -> None
> zero: rg_track_gain:  -> None
> zero: rg_album_gain:  -> None
> zero: rg_track_peak:  -> None
> zero: rg_album_peak:  -> None
> zero: r128_track_gain:  -> None
> zero: r128_album_gain:  -> None
> zero: initial_key:  -> None
> ok
> test_keep_fields_removes_preserved_tags (test_zero.ZeroPluginTest) ... ok
> test_no_fields (test_zero.ZeroPluginTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> no user configuration found at /tmp/tmpr1y6i49y/config.yaml
> data directory: /tmp/tmpr1y6i49y
> plugin paths: 
> Sending event: pluginload
> Remove fields for all items? (Y/n) zero: no fields, nothing to do
> Sending event: cli_exit
> ok
> test_no_patterns (test_zero.ZeroPluginTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: write
> Sending event: after_write
> ok
> test_pattern_match (test_zero.ZeroPluginTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: write
> Sending event: after_write
> ok
> test_pattern_nomatch (test_zero.ZeroPluginTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: write
> Sending event: after_write
> ok
> test_subcommand_query_exclude (test_zero.ZeroPluginTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> no user configuration found at /tmp/tmpjfqhxld2/config.yaml
> data directory: /tmp/tmpjfqhxld2
> plugin paths: 
> Sending event: pluginload
> Sending event: cli_exit
> ok
> test_subcommand_query_include (test_zero.ZeroPluginTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> no user configuration found at /tmp/tmptlyylcy2/config.yaml
> data directory: /tmp/tmptlyylcy2
> plugin paths: 
> Sending event: pluginload
> zero: comments: test comment -> None
> Sending event: write
> Sending event: after_write
> Sending event: cli_exit
> ok
> test_subcommand_update_database_false (test_zero.ZeroPluginTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> no user configuration found at /tmp/tmp9pjogbwa/config.yaml
> data directory: /tmp/tmp9pjogbwa
> plugin paths: 
> Sending event: pluginload
> Remove fields for all items? (Y/n) zero: comments: test comment -> None
> Sending event: write
> Sending event: after_write
> Sending event: cli_exit
> ok
> test_subcommand_update_database_true (test_zero.ZeroPluginTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> no user configuration found at /tmp/tmp8sombfay/config.yaml
> data directory: /tmp/tmp8sombfay
> plugin paths: 
> Sending event: pluginload
> Remove fields for all items? (Y/n) zero: comments: test comment -> None
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: cli_exit
> ok
> test_whitelist_and_blacklist (test_zero.ZeroPluginTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> zero: cannot blacklist and whitelist at the same time
> no user configuration found at /tmp/tmp1to74z7a/config.yaml
> data directory: /tmp/tmp1to74z7a
> plugin paths: 
> Sending event: pluginload
> Remove fields for all items? (Y/n) zero: no fields, nothing to do
> Sending event: cli_exit
> ok
> test_print_tracks_output (test_mbsubmit.MBSubmitPluginTest)
> Test the output of the "print tracks" choice. ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmp5whukijv/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist M - Applied Album M (albumid M)
> ../beets/autotag/hooks.py:241: DeprecationWarning: PY_SSIZE_T_CLEAN will be required for '#' formats
>   return levenshtein_distance(str1, str2) / float(max(len(str1), len(str2)))
> Computing track assignment...
> ...done.
> Success. Distance: 0.49
> Sending event: albuminfo_received
> Candidate: Applied Artist MM - Applied Album MM (albumid MM)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 2 candidates.
> Sending event: before_choose_candidate
> Sending event: before_choose_candidate
> Sending event: import_task_choice
> ok
> test_print_tracks_output_as_tracks (test_mbsubmit.MBSubmitPluginTest)
> Test the output of the "print tracks" choice, as singletons. ... Sending event: import_begin
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmps2edwa8y/testsrcdir/the_album
> Tagging Tag Artist - Tag Album
> No album ID found.
> Search terms: Tag Artist - Tag Album
> Album might be VA: False
> Sending event: albuminfo_received
> Candidate: Applied Artist M - Applied Album M (albumid M)
> Computing track assignment...
> ...done.
> Success. Distance: 0.49
> Sending event: albuminfo_received
> Candidate: Applied Artist MM - Applied Album MM (albumid MM)
> Computing track assignment...
> ...done.
> Success. Distance: 0.50
> Evaluating 2 candidates.
> Sending event: before_choose_candidate
> Prompt choice 'Print tracks' removed due to conflict with 'Print tracks' (short letter: 'p')
> Sending event: import_task_choice
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmps2edwa8y/testsrcdir/the_album/track_1.mp3
> Item search terms: Tag Artist - Tag Title 1
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: before_choose_candidate
> Prompt choice 'Print tracks' removed due to conflict with 'Print tracks' (short letter: 'p')
> Sending event: import_task_choice
> Sending event: import_task_created
> Sending event: import_task_start
> Looking up: /tmp/tmps2edwa8y/testsrcdir/the_album/track_2.mp3
> Item search terms: Tag Artist - Tag Title 2
> Sending event: trackinfo_received
> Found 1 candidates.
> Sending event: before_choose_candidate
> Prompt choice 'Print tracks' removed due to conflict with 'Print tracks' (short letter: 'p')
> Sending event: before_choose_candidate
> Prompt choice 'Print tracks' removed due to conflict with 'Print tracks' (short letter: 'p')
> Sending event: import_task_choice
> ok
> test_album_option (test_play.PlayPluginTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpb_rx4b5b/config.yaml
> data directory: /tmp/tmpb_rx4b5b
> plugin paths: 
> Sending event: pluginload
> play: executing command: echo ['/tmp/tmpw7qkz__o.m3u']
> Sending event: cli_exit
> ok
> test_args_option (test_play.PlayPluginTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpi69dro17/config.yaml
> data directory: /tmp/tmpi69dro17
> plugin paths: 
> Sending event: pluginload
> play: executing command: echo foo ['/tmp/tmp91cdpu5_.m3u']
> Sending event: cli_exit
> ok
> test_args_option_in_middle (test_play.PlayPluginTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp9_3x8sii/config.yaml
> data directory: /tmp/tmp9_3x8sii
> plugin paths: 
> Sending event: pluginload
> play: executing command: echo foo other ['/tmp/tmpmm_7aum3.m3u']
> Sending event: cli_exit
> ok
> test_basic (test_play.PlayPluginTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp7leqwz9v/config.yaml
> data directory: /tmp/tmp7leqwz9v
> plugin paths: 
> Sending event: pluginload
> play: executing command: echo ['/tmp/tmpaol_rc32.m3u']
> Sending event: cli_exit
> ok
> test_command_failed (test_play.PlayPluginTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp76429nki/config.yaml
> data directory: /tmp/tmp76429nki
> plugin paths: 
> Sending event: pluginload
> play: executing command: echo ['/tmp/tmpx00d_qfa.m3u']
> ok
> test_not_found (test_play.PlayPluginTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpzeyuvwly/config.yaml
> data directory: /tmp/tmpzeyuvwly
> plugin paths: 
> Sending event: pluginload
> Sending event: cli_exit
> ok
> test_raw (test_play.PlayPluginTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpgp82q_ny/config.yaml
> data directory: /tmp/tmpgp82q_ny
> plugin paths: 
> Sending event: pluginload
> play: executing command: echo [b'/tmp/tmpgp82q_ny/libdir/the \xc3\xa4rtist/a nice \xc3\xa4lbum/00 aNiceTitle.mp3']
> Sending event: cli_exit
> ok
> test_relative_to (test_play.PlayPluginTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp4562lszh/config.yaml
> data directory: /tmp/tmp4562lszh
> plugin paths: 
> Sending event: pluginload
> play: executing command: echo ['/tmp/tmpr7h2y5yf.m3u']
> Sending event: cli_exit
> ok
> test_skip_warning_threshold_bypass (test_play.PlayPluginTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpdlakl7uy/config.yaml
> data directory: /tmp/tmpdlakl7uy
> plugin paths: 
> Sending event: pluginload
> play: executing command: echo ['/tmp/tmpn7k73prw.m3u']
> Sending event: cli_exit
> ok
> test_unset_args_option_in_middle (test_play.PlayPluginTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp2kmc9_5u/config.yaml
> data directory: /tmp/tmp2kmc9_5u
> plugin paths: 
> Sending event: pluginload
> play: executing command: echo other ['/tmp/tmp7ra758jy.m3u']
> Sending event: cli_exit
> ok
> test_use_folders (test_play.PlayPluginTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmpl34wo7dp/config.yaml
> data directory: /tmp/tmpl34wo7dp
> plugin paths: 
> Sending event: pluginload
> play: executing command: xdg-open ['/tmp/tmpsa4itl4p.m3u']
> Sending event: cli_exit
> ok
> test_warning_threshold (test_play.PlayPluginTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> no user configuration found at /tmp/tmp30t1glpy/config.yaml
> data directory: /tmp/tmp30t1glpy
> plugin paths: 
> Sending event: pluginload
> Sending event: cli_exit
> ok
> test_cli_saves_album_gain_to_file (test_replaygain.ReplayGainCmdCliTest) ... skipped 'no *gain command found'
> test_cli_saves_track_gain (test_replaygain.ReplayGainCmdCliTest) ... skipped 'no *gain command found'
> test_cli_skips_calculated_tracks (test_replaygain.ReplayGainCmdCliTest) ... skipped 'no *gain command found'
> test_cli_saves_album_gain_to_file (test_replaygain.ReplayGainGstCliTest) ... skipped 'gstreamer cannot be found'
> test_cli_saves_track_gain (test_replaygain.ReplayGainGstCliTest) ... skipped 'gstreamer cannot be found'
> test_cli_skips_calculated_tracks (test_replaygain.ReplayGainGstCliTest) ... skipped 'gstreamer cannot be found'
> test_malformed_output (test_replaygain.ReplayGainLdnsCliMalformedTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> Sending event: write
> Sending event: after_write
> Sending event: database_change
> no user configuration found at /tmp/tmpt0p4wsm1/config.yaml
> data directory: /tmp/tmpt0p4wsm1
> plugin paths: 
> Sending event: pluginload
> replaygain: analyzing the artist - älbum - tïtle 0
> replaygain: executing bs1770gain --replaygain --xml -p /tmp/tmpt0p4wsm1/libdir/the artist/älbum/02 tïtle 0.mp3
> replaygain: analysis finished: 
>             <album>
>                 <track total="1" number="1" file="&">
>                     <integrated lufs="0" lu="0" />
>                     <sample-peak spfs="0" factor="0" />
>                 </track>
>             </album>
>         
> replaygain: ReplayGain error: The bs1770gain tool produced malformed XML. Using version >=0.4.10 may solve this problem.
> replaygain: analyzing the artist - älbum - tïtle 1
> replaygain: executing bs1770gain --replaygain --xml -p /tmp/tmpt0p4wsm1/libdir/the artist/älbum/02 tïtle 1.mp3
> replaygain: analysis finished: 
>             <album>
>                 <track total="1" number="1" file="&">
>                     <integrated lufs="0" lu="0" />
>                     <sample-peak spfs="0" factor="0" />
>                 </track>
>             </album>
>         
> replaygain: ReplayGain error: The bs1770gain tool produced malformed XML. Using version >=0.4.10 may solve this problem.
> Sending event: cli_exit
> ok
> test_cli_saves_album_gain_to_file (test_replaygain.ReplayGainLdnsCliTest) ... skipped 'bs1770gain cannot be found'
> test_cli_saves_track_gain (test_replaygain.ReplayGainLdnsCliTest) ... skipped 'bs1770gain cannot be found'
> test_cli_skips_calculated_tracks (test_replaygain.ReplayGainLdnsCliTest) ... skipped 'bs1770gain cannot be found'
> test_albuminfo_move_changes_paths (test_files.AlbumFileTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_albuminfo_move_copies_file (test_files.AlbumFileTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_albuminfo_move_moves_file (test_files.AlbumFileTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_albuminfo_move_to_custom_dir (test_files.AlbumFileTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> ok
> test_art_deleted_when_items_deleted (test_files.ArtFileTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> ok
> test_art_moves_with_album (test_files.ArtFileTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> moving album art /tmp/tmp4_3e19zi/testlibdir/the artist/the album/cover.jpg to /tmp/tmp4_3e19zi/testlibdir/the artist/newAlbum/cover.jpg
> Sending event: database_change
> ok
> test_art_moves_with_album_to_custom_dir (test_files.ArtFileTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> moving album art /tmp/tmp29db0983/testlibdir/the artist/the album/cover.jpg to /tmp/tmp29db0983/testotherdir/the artist/the album/cover.jpg
> Sending event: database_change
> Sending event: database_change
> ok
> test_move_last_file_moves_albumart (test_files.ArtFileTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> moving album art /tmp/tmpvl3mdsws/testlibdir/the artist/the album/cover.jpg to /tmp/tmpvl3mdsws/testlibdir/the artist/different_album/cover.jpg
> Sending event: database_change
> ok
> test_move_not_last_file_does_not_move_albumart (test_files.ArtFileTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> ok
> test_setart_copies_image (test_files.ArtFileTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: art_set
> ok
> test_setart_sets_permissions (test_files.ArtFileTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: art_set
> ok
> test_setart_to_conflicting_file_gets_new_path (test_files.ArtFileTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: art_set
> ok
> test_setart_to_existing_art_works (test_files.ArtFileTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> Sending event: art_set
> ok
> test_setart_to_existing_but_unset_art_works (test_files.ArtFileTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> Sending event: database_change
> ok
> test_ancestry_works_on_dir (test_files.HelperTest) ... ok
> test_ancestry_works_on_file (test_files.HelperTest) ... ok
> test_ancestry_works_on_relative (test_files.HelperTest) ... ok
> test_components_works_on_dir (test_files.HelperTest) ... ok
> test_components_works_on_file (test_files.HelperTest) ... ok
> test_components_works_on_relative (test_files.HelperTest) ... ok
> test_child_does_not_exist (test_files.MkDirAllTest) ... ok
> test_parent_exists (test_files.MkDirAllTest) ... ok
> test_copy_already_at_destination (test_files.MoveTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> ok
> test_copy_arrives (test_files.MoveTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> ok
> test_copy_does_not_depart (test_files.MoveTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> ok
> test_hardlink_arrives (test_files.MoveTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_hardlinked
> Sending event: database_change
> ok
> test_hardlink_changes_path (test_files.MoveTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_hardlinked
> Sending event: database_change
> ok
> test_hardlink_does_not_depart (test_files.MoveTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_hardlinked
> Sending event: database_change
> ok
> test_link_arrives (test_files.MoveTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_linked
> Sending event: database_change
> ok
> test_link_changes_path (test_files.MoveTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_linked
> Sending event: database_change
> ok
> test_link_does_not_depart (test_files.MoveTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_linked
> Sending event: database_change
> ok
> test_move_already_at_destination (test_files.MoveTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> ok
> test_move_arrives (test_files.MoveTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> ok
> test_move_avoids_collision_with_existing_file (test_files.MoveTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> ok
> test_move_changes_path (test_files.MoveTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> ok
> test_move_departs (test_files.MoveTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> ok
> test_move_in_lib_prunes_empty_dir (test_files.MoveTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> ok
> test_move_to_custom_dir (test_files.MoveTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: before_item_moved
> Sending event: item_moved
> Sending event: database_change
> ok
> test_read_only_file_copied_writable (test_files.MoveTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: item_copied
> Sending event: database_change
> ok
> test_prune_existent_directory (test_files.PruneTest) ... ok
> test_prune_nonexistent_directory (test_files.PruneTest) ... ok
> test_removing_item_outside_of_library_deletes_nothing (test_files.RemoveTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> ok
> test_removing_last_item_in_album_with_albumart_prunes_dir (test_files.RemoveTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: art_set
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> ok
> test_removing_last_item_preserves_library_dir (test_files.RemoveTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> ok
> test_removing_last_item_preserves_nonempty_dir (test_files.RemoveTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> ok
> test_removing_last_item_prunes_dir_with_blacklisted_file (test_files.RemoveTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> ok
> test_removing_last_item_prunes_empty_dir (test_files.RemoveTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> ok
> test_removing_without_delete_leaves_file (test_files.RemoveTest) ... Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: database_change
> Sending event: item_removed
> ok
> test_self_copy (test_files.SafeMoveCopyTest) ... ok
> test_self_move (test_files.SafeMoveCopyTest) ... ok
> test_successful_copy (test_files.SafeMoveCopyTest) ... ok
> test_successful_move (test_files.SafeMoveCopyTest) ... ok
> test_unsuccessful_copy (test_files.SafeMoveCopyTest) ... ok
> test_unsuccessful_move (test_files.SafeMoveCopyTest) ... ok
> test_soft_remove_deletes_file (test_files.SoftRemoveTest) ... ok
> test_soft_remove_silent_on_no_file (test_files.SoftRemoveTest) ... ok
> test_conflicting_file_appends_1 (test_files.UniquePathTest) ... ok
> test_conflicting_file_appends_higher_number (test_files.UniquePathTest) ... ok
> test_conflicting_file_with_number_increases_number (test_files.UniquePathTest) ... ok
> test_new_file_unchanged (test_files.UniquePathTest) ... ok
> test_ignore_directory (test_files.WalkTest) ... ok
> test_ignore_everything (test_files.WalkTest) ... ok
> test_ignore_file (test_files.WalkTest) ... ok
> test_sorted_files (test_files.WalkTest) ... ok
> test_config_editor_not_found (test_config_command.ConfigCommandTest) ... ok
> test_config_paths (test_config_command.ConfigCommandTest) ... ok
> test_config_paths_with_cli (test_config_command.ConfigCommandTest) ... ok
> test_edit_config_with_automatic_open (test_config_command.ConfigCommandTest) ... ok
> test_edit_config_with_editor_env (test_config_command.ConfigCommandTest) ... ok
> test_edit_invalid_config_file (test_config_command.ConfigCommandTest) ... ok
> test_show_redacted_user_config (test_config_command.ConfigCommandTest) ... ok
> test_show_redacted_user_config_with_defaults (test_config_command.ConfigCommandTest) ... ok
> test_show_user_config (test_config_command.ConfigCommandTest) ... ok
> test_show_user_config_with_cli (test_config_command.ConfigCommandTest) ... ok
> test_show_user_config_with_defaults (test_config_command.ConfigCommandTest) ... ok
> test_cmd_password (test_player.BPDConnectionTest) ... /tmp/tmpitmp_tqq/config.yaml
> 
> /tmp/tmp2s_ndv3t/cli_config.yaml
> /tmp/tmp2s_ndv3t/config.yaml
> 
> library: lib
> option: value
> password: REDACTED
> 
> 
> library: lib
> option: value
> password: REDACTED
> directory: ~/Music
> 
> import:
>     write: yes
>     copy: yes
>     move: no
>     link: no
>     hardlink: no
>     delete: no
>     resume: ask
>     incremental: no
>     incremental_skip_later: no
>     from_scratch: no
>     quiet_fallback: skip
>     none_rec_action: ask
>     timid: no
>     log:
>     autotag: yes
>     quiet: no
>     singletons: no
>     default_action: apply
>     languages: []
>     detail: no
>     flat: no
>     group_albums: no
>     pretend: no
>     search_ids: []
>     duplicate_action: ask
>     bell: no
>     set_fields: {}
> 
> clutter: [Thumbs.DB, .DS_Store]
> ignore:
> - .*
> - '*~'
> - System Volume Information
> - lost+found
> ignore_hidden: yes
> 
> replace:
>     '[\\/]': _
>     ^\.: _
>     '[\x00-\x1f]': _
>     '[<>:"\?\*\|]': _
>     \.$: _
>     \s+$: ''
>     ^\s+: ''
>     ^-: _
> path_sep_replace: _
> asciify_paths: no
> art_filename: cover
> max_filename_length: 0
> 
> aunique:
>     keys: albumartist album
>     disambiguators: albumtype year label catalognum albumdisambig releasegroupdisambig
>     bracket: '[]'
> 
> overwrite_null:
>     album: []
>     track: []
> 
> plugins: []
> pluginpath: []
> threaded: yes
> timeout: 5.0
> per_disc_numbering: no
> verbose: 0
> terminal_encoding:
> original_date: no
> artist_credit: no
> id3v23: no
> va_name: Various Artists
> 
> ui:
>     terminal_width: 80
>     length_diff_thresh: 10.0
>     color: yes
>     colors:
>         text_success: green
>         text_warning: yellow
>         text_error: red
>         text_highlight: red
>         text_highlight_minor: lightgray
>         action_default: turquoise
>         action: blue
> 
> format_item: $artist - $album - $title
> format_album: $albumartist - $album
> time_format: '%Y-%m-%d %H:%M:%S'
> format_raw_length: no
> 
> sort_album: albumartist+ album+
> sort_item: artist+ album+ disc+ track+
> sort_case_insensitive: yes
> 
> paths:
>     default: $albumartist/$album%aunique{}/$track $title
>     singleton: Non-Album/$artist/$title
>     comp: Compilations/$album%aunique{}/$track $title
> 
> statefile: state.pickle
> 
> musicbrainz:
>     host: musicbrainz.org
>     ratelimit: 1
>     ratelimit_interval: 1.0
>     searchlimit: 5
> 
> match:
>     strong_rec_thresh: 0.04
>     medium_rec_thresh: 0.25
>     rec_gap_thresh: 0.25
>     max_rec:
>         missing_tracks: medium
>         unmatched_tracks: medium
>     distance_weights:
>         source: 2.0
>         artist: 3.0
>         album: 3.0
>         media: 1.0
>         mediums: 1.0
>         year: 1.0
>         country: 0.5
>         label: 0.5
>         catalognum: 0.5
>         albumdisambig: 0.5
>         album_id: 5.0
>         tracks: 2.0
>         missing_tracks: 0.9
>         unmatched_tracks: 0.6
>         track_title: 3.0
>         track_artist: 2.0
>         track_index: 1.0
>         track_length: 2.0
>         track_id: 5.0
>     preferred:
>         countries: []
>         media: []
>         original_year: no
>     ignored: []
>     required: []
>     ignored_media: []
>     ignore_data_tracks: yes
>     ignore_video_tracks: yes
>     track_length_grace: 10
>     track_length_max: 30
> 
> 
> library: lib
> option: value
> password: password_value
> 
> 
> option: cli overwrite
> library: lib
> password: REDACTED
> 
> 
> library: lib
> option: value
> password: password_value
> directory: ~/Music
> 
> import:
>     write: yes
>     copy: yes
>     move: no
>     link: no
>     hardlink: no
>     delete: no
>     resume: ask
>     incremental: no
>     incremental_skip_later: no
>     from_scratch: no
>     quiet_fallback: skip
>     none_rec_action: ask
>     timid: no
>     log:
>     autotag: yes
>     quiet: no
>     singletons: no
>     default_action: apply
>     languages: []
>     detail: no
>     flat: no
>     group_albums: no
>     pretend: no
>     search_ids: []
>     duplicate_action: ask
>     bell: no
>     set_fields: {}
> 
> clutter: [Thumbs.DB, .DS_Store]
> ignore:
> - .*
> - '*~'
> - System Volume Information
> - lost+found
> ignore_hidden: yes
> 
> replace:
>     '[\\/]': _
>     ^\.: _
>     '[\x00-\x1f]': _
>     '[<>:"\?\*\|]': _
>     \.$: _
>     \s+$: ''
>     ^\s+: ''
>     ^-: _
> path_sep_replace: _
> asciify_paths: no
> art_filename: cover
> max_filename_length: 0
> 
> aunique:
>     keys: albumartist album
>     disambiguators: albumtype year label catalognum albumdisambig releasegroupdisambig
>     bracket: '[]'
> 
> overwrite_null:
>     album: []
>     track: []
> 
> plugins: []
> pluginpath: []
> threaded: yes
> timeout: 5.0
> per_disc_numbering: no
> verbose: 0
> terminal_encoding:
> original_date: no
> artist_credit: no
> id3v23: no
> va_name: Various Artists
> 
> ui:
>     terminal_width: 80
>     length_diff_thresh: 10.0
>     color: yes
>     colors:
>         text_success: green
>         text_warning: yellow
>         text_error: red
>         text_highlight: red
>         text_highlight_minor: lightgray
>         action_default: turquoise
>         action: blue
> 
> format_item: $artist - $album - $title
> format_album: $albumartist - $album
> time_format: '%Y-%m-%d %H:%M:%S'
> format_raw_length: no
> 
> sort_album: albumartist+ album+
> sort_item: artist+ album+ disc+ track+
> sort_case_insensitive: yes
> 
> paths:
>     default: $albumartist/$album%aunique{}/$track $title
>     singleton: Non-Album/$artist/$title
>     comp: Compilations/$album%aunique{}/$track $title
> 
> statefile: state.pickle
> 
> musicbrainz:
>     host: musicbrainz.org
>     ratelimit: 1
>     ratelimit_interval: 1.0
>     searchlimit: 5
> 
> match:
>     strong_rec_thresh: 0.04
>     medium_rec_thresh: 0.25
>     rec_gap_thresh: 0.25
>     max_rec:
>         missing_tracks: medium
>         unmatched_tracks: medium
>     distance_weights:
>         source: 2.0
>         artist: 3.0
>         album: 3.0
>         media: 1.0
>         mediums: 1.0
>         year: 1.0
>         country: 0.5
>         label: 0.5
>         catalognum: 0.5
>         albumdisambig: 0.5
>         album_id: 5.0
>         tracks: 2.0
>         missing_tracks: 0.9
>         unmatched_tracks: 0.6
>         track_title: 3.0
>         track_artist: 2.0
>         track_index: 1.0
>         track_length: 2.0
>         track_id: 5.0
>     preferred:
>         countries: []
>         media: []
>         original_year: no
>     ignored: []
>     required: []
>     ignored_media: []
>     ignore_data_tracks: yes
>     ignore_video_tracks: yes
>     track_length_grace: 10
>     track_length_max: 30
> 
> 
> overlaying configuration: /tmp/tmpwbg5x9lm/tmprq8gkie9.yaml
> no user configuration found at /tmp/tmpwbg5x9lm/config.yaml
> data directory: /tmp/tmpwbg5x9lm
> plugin paths: /tmp/tmpwbg5x9lm
> Sending event: pluginload
> library database: /tmp/tmpwbg5x9lm/library.db
> library directory: /tmp/tmpwbg5x9lm/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:18893
> bpd: *[127.0.0.1:40866]: connected
> bpd: >[127.0.0.1:40866]: OK MPD 0.14.0
> bpd: <[127.0.0.1:40866]: status
> bpd: >[127.0.0.1:40866]: ACK [4 at 0] {} insufficient privileges
> bpd: <[127.0.0.1:40866]: password wrong
> bpd: >[127.0.0.1:40866]: ACK [3 at 0] {password} incorrect password
> bpd: <[127.0.0.1:40866]: command_list_ok_begin
> bpd: <[127.0.0.1:40866]: password abc123
> bpd: <[127.0.0.1:40866]: status
> bpd: <[127.0.0.1:40866]: command_list_end
> bpd: >[127.0.0.1:40866]: list_OK
> bpd: >[127.0.0.1:40866]: repeat: 0
> bpd: >[127.0.0.1:40866]: random: 0
> bpd: >[127.0.0.1:40866]: consume: 0
> bpd: >[127.0.0.1:40866]: single: 0
> bpd: >[127.0.0.1:40866]: playlist: 0
> bpd: >[127.0.0.1:40866]: playlistlength: 0
> bpd: >[127.0.0.1:40866]: mixrampdb: 0.0
> bpd: >[127.0.0.1:40866]: volume: 100
> bpd: >[127.0.0.1:40866]: state: stop
> bpd: >[127.0.0.1:40866]: list_OK
> bpd: >[127.0.0.1:40866]: OK
> ok
> test_cmd_ping (test_player.BPDConnectionTest) ... overlaying configuration: /tmp/tmpflnhivhb/tmpu9maukcj.yaml
> no user configuration found at /tmp/tmpflnhivhb/config.yaml
> data directory: /tmp/tmpflnhivhb
> plugin paths: /tmp/tmpflnhivhb
> Sending event: pluginload
> library database: /tmp/tmpflnhivhb/library.db
> library directory: /tmp/tmpflnhivhb/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:18020
> bpd: *[127.0.0.1:38444]: connected
> bpd: >[127.0.0.1:38444]: OK MPD 0.14.0
> bpd: <[127.0.0.1:38444]: ping
> bpd: >[127.0.0.1:38444]: OK
> ok
> test_cmd_tagtypes (test_player.BPDConnectionTest) ... skipped ''
> test_implements_connection (test_player.BPDConnectionTest) ... overlaying configuration: /tmp/tmprcsu8_0p/tmpjm1i2fgq.yaml
> no user configuration found at /tmp/tmprcsu8_0p/config.yaml
> data directory: /tmp/tmprcsu8_0p
> plugin paths: /tmp/tmprcsu8_0p
> Sending event: pluginload
> library database: /tmp/tmprcsu8_0p/library.db
> library directory: /tmp/tmprcsu8_0p/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:13536
> bpd: *[127.0.0.1:41712]: connected
> bpd: >[127.0.0.1:41712]: OK MPD 0.14.0
> bpd: <[127.0.0.1:41712]: commands
> bpd: >[127.0.0.1:41712]: command: add
> bpd: >[127.0.0.1:41712]: command: addid
> bpd: >[127.0.0.1:41712]: command: clear
> bpd: >[127.0.0.1:41712]: command: clearerror
> bpd: >[127.0.0.1:41712]: command: close
> bpd: >[127.0.0.1:41712]: command: commands
> bpd: >[127.0.0.1:41712]: command: consume
> bpd: >[127.0.0.1:41712]: command: count
> bpd: >[127.0.0.1:41712]: command: crash_TypeError
> bpd: >[127.0.0.1:41712]: command: crossfade
> bpd: >[127.0.0.1:41712]: command: currentsong
> bpd: >[127.0.0.1:41712]: command: decoders
> bpd: >[127.0.0.1:41712]: command: delete
> bpd: >[127.0.0.1:41712]: command: deleteid
> bpd: >[127.0.0.1:41712]: command: disableoutput
> bpd: >[127.0.0.1:41712]: command: enableoutput
> bpd: >[127.0.0.1:41712]: command: find
> bpd: >[127.0.0.1:41712]: command: idle
> bpd: >[127.0.0.1:41712]: command: kill
> bpd: >[127.0.0.1:41712]: command: list
> bpd: >[127.0.0.1:41712]: command: listall
> bpd: >[127.0.0.1:41712]: command: listallinfo
> bpd: >[127.0.0.1:41712]: command: listplaylist
> bpd: >[127.0.0.1:41712]: command: listplaylistinfo
> bpd: >[127.0.0.1:41712]: command: listplaylists
> bpd: >[127.0.0.1:41712]: command: load
> bpd: >[127.0.0.1:41712]: command: lsinfo
> bpd: >[127.0.0.1:41712]: command: mixrampdb
> bpd: >[127.0.0.1:41712]: command: mixrampdelay
> bpd: >[127.0.0.1:41712]: command: move
> bpd: >[127.0.0.1:41712]: command: moveid
> bpd: >[127.0.0.1:41712]: command: next
> bpd: >[127.0.0.1:41712]: command: notcommands
> bpd: >[127.0.0.1:41712]: command: outputs
> bpd: >[127.0.0.1:41712]: command: password
> bpd: >[127.0.0.1:41712]: command: pause
> bpd: >[127.0.0.1:41712]: command: ping
> bpd: >[127.0.0.1:41712]: command: play
> bpd: >[127.0.0.1:41712]: command: playid
> bpd: >[127.0.0.1:41712]: command: playlistadd
> bpd: >[127.0.0.1:41712]: command: playlistclear
> bpd: >[127.0.0.1:41712]: command: playlistdelete
> bpd: >[127.0.0.1:41712]: command: playlistid
> bpd: >[127.0.0.1:41712]: command: playlistinfo
> bpd: >[127.0.0.1:41712]: command: playlistmove
> bpd: >[127.0.0.1:41712]: command: plchanges
> bpd: >[127.0.0.1:41712]: command: plchangesposid
> bpd: >[127.0.0.1:41712]: command: previous
> bpd: >[127.0.0.1:41712]: command: random
> bpd: >[127.0.0.1:41712]: command: rename
> bpd: >[127.0.0.1:41712]: command: repeat
> bpd: >[127.0.0.1:41712]: command: replay_gain_mode
> bpd: >[127.0.0.1:41712]: command: replay_gain_status
> bpd: >[127.0.0.1:41712]: command: rm
> bpd: >[127.0.0.1:41712]: command: save
> bpd: >[127.0.0.1:41712]: command: search
> bpd: >[127.0.0.1:41712]: command: seek
> bpd: >[127.0.0.1:41712]: command: seekid
> bpd: >[127.0.0.1:41712]: command: setvol
> bpd: >[127.0.0.1:41712]: command: single
> bpd: >[127.0.0.1:41712]: command: stats
> bpd: >[127.0.0.1:41712]: command: status
> bpd: >[127.0.0.1:41712]: command: stop
> bpd: >[127.0.0.1:41712]: command: swap
> bpd: >[127.0.0.1:41712]: command: swapid
> bpd: >[127.0.0.1:41712]: command: tagtypes
> bpd: >[127.0.0.1:41712]: command: update
> bpd: >[127.0.0.1:41712]: command: urlhandlers
> bpd: >[127.0.0.1:41712]: command: volume
> bpd: >[127.0.0.1:41712]: OK
> ok
> test_tagtypes_mask (test_player.BPDConnectionTest) ... skipped ''
> test_cmd_next (test_player.BPDControlTest) ... overlaying configuration: /tmp/tmpc11vq56j/tmpqo6m8w6s.yaml
> no user configuration found at /tmp/tmpc11vq56j/config.yaml
> data directory: /tmp/tmpc11vq56j
> plugin paths: /tmp/tmpc11vq56j
> Sending event: pluginload
> library database: /tmp/tmpc11vq56j/library.db
> library directory: /tmp/tmpc11vq56j/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:14612
> bpd: *[127.0.0.1:48708]: connected
> bpd: >[127.0.0.1:48708]: OK MPD 0.14.0
> bpd: <[127.0.0.1:48708]: command_list_ok_begin
> bpd: <[127.0.0.1:48708]: add "Artist Name/Album Title/01 Track One Title.mp3"
> bpd: <[127.0.0.1:48708]: add "Artist Name/Album Title/02 Track Two Title.mp3"
> bpd: <[127.0.0.1:48708]: command_list_end
> bpd: >[127.0.0.1:48708]: list_OK
> bpd: >[127.0.0.1:48708]: list_OK
> bpd: >[127.0.0.1:48708]: OK
> bpd: <[127.0.0.1:48708]: command_list_ok_begin
> bpd: <[127.0.0.1:48708]: play
> bpd: <[127.0.0.1:48708]: currentsong
> bpd: <[127.0.0.1:48708]: next
> bpd: <[127.0.0.1:48708]: currentsong
> bpd: <[127.0.0.1:48708]: next
> bpd: <[127.0.0.1:48708]: status
> bpd: <[127.0.0.1:48708]: command_list_end
> bpd: >[127.0.0.1:48708]: list_OK
> bpd: >[127.0.0.1:48708]: file: Artist Name/Album Title/01 Track One Title.mp3
> bpd: >[127.0.0.1:48708]: Time: 0
> bpd: >[127.0.0.1:48708]: Title: Track One Title
> bpd: >[127.0.0.1:48708]: Artist: Artist Name
> bpd: >[127.0.0.1:48708]: Album: Album Title
> bpd: >[127.0.0.1:48708]: Genre: 
> bpd: >[127.0.0.1:48708]: Track: 1
> bpd: >[127.0.0.1:48708]: Date: 0
> bpd: >[127.0.0.1:48708]: Pos: 0
> bpd: >[127.0.0.1:48708]: Id: 1
> bpd: >[127.0.0.1:48708]: list_OK
> bpd: >[127.0.0.1:48708]: list_OK
> bpd: >[127.0.0.1:48708]: file: Artist Name/Album Title/02 Track Two Title.mp3
> bpd: >[127.0.0.1:48708]: Time: 0
> bpd: >[127.0.0.1:48708]: Title: Track Two Title
> bpd: >[127.0.0.1:48708]: Artist: Artist Name
> bpd: >[127.0.0.1:48708]: Album: Album Title
> bpd: >[127.0.0.1:48708]: Genre: 
> bpd: >[127.0.0.1:48708]: Track: 2
> bpd: >[127.0.0.1:48708]: Date: 0
> bpd: >[127.0.0.1:48708]: Pos: 1
> bpd: >[127.0.0.1:48708]: Id: 2
> bpd: >[127.0.0.1:48708]: list_OK
> bpd: >[127.0.0.1:48708]: list_OK
> bpd: >[127.0.0.1:48708]: repeat: 0
> bpd: >[127.0.0.1:48708]: random: 0
> bpd: >[127.0.0.1:48708]: consume: 0
> bpd: >[127.0.0.1:48708]: single: 0
> bpd: >[127.0.0.1:48708]: playlist: 2
> bpd: >[127.0.0.1:48708]: playlistlength: 2
> bpd: >[127.0.0.1:48708]: mixrampdb: 0.0
> bpd: >[127.0.0.1:48708]: volume: 100
> bpd: >[127.0.0.1:48708]: state: stop
> bpd: >[127.0.0.1:48708]: list_OK
> bpd: >[127.0.0.1:48708]: OK
> ok
> test_cmd_play (test_player.BPDControlTest) ... overlaying configuration: /tmp/tmpqv20jxff/tmpwy3qfrs7.yaml
> no user configuration found at /tmp/tmpqv20jxff/config.yaml
> data directory: /tmp/tmpqv20jxff
> plugin paths: /tmp/tmpqv20jxff
> Sending event: pluginload
> library database: /tmp/tmpqv20jxff/library.db
> library directory: /tmp/tmpqv20jxff/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:10657
> bpd: *[127.0.0.1:59058]: connected
> bpd: >[127.0.0.1:59058]: OK MPD 0.14.0
> bpd: <[127.0.0.1:59058]: command_list_ok_begin
> bpd: <[127.0.0.1:59058]: add "Artist Name/Album Title/01 Track One Title.mp3"
> bpd: <[127.0.0.1:59058]: add "Artist Name/Album Title/02 Track Two Title.mp3"
> bpd: <[127.0.0.1:59058]: command_list_end
> bpd: >[127.0.0.1:59058]: list_OK
> bpd: >[127.0.0.1:59058]: list_OK
> bpd: >[127.0.0.1:59058]: OK
> bpd: <[127.0.0.1:59058]: command_list_ok_begin
> bpd: <[127.0.0.1:59058]: status
> bpd: <[127.0.0.1:59058]: play
> bpd: <[127.0.0.1:59058]: status
> bpd: <[127.0.0.1:59058]: play 1
> bpd: <[127.0.0.1:59058]: currentsong
> bpd: <[127.0.0.1:59058]: command_list_end
> bpd: >[127.0.0.1:59058]: repeat: 0
> bpd: >[127.0.0.1:59058]: random: 0
> bpd: >[127.0.0.1:59058]: consume: 0
> bpd: >[127.0.0.1:59058]: single: 0
> bpd: >[127.0.0.1:59058]: playlist: 2
> bpd: >[127.0.0.1:59058]: playlistlength: 2
> bpd: >[127.0.0.1:59058]: mixrampdb: 0.0
> bpd: >[127.0.0.1:59058]: volume: 100
> bpd: >[127.0.0.1:59058]: state: stop
> bpd: >[127.0.0.1:59058]: list_OK
> bpd: >[127.0.0.1:59058]: list_OK
> bpd: >[127.0.0.1:59058]: repeat: 0
> bpd: >[127.0.0.1:59058]: random: 0
> bpd: >[127.0.0.1:59058]: consume: 0
> bpd: >[127.0.0.1:59058]: single: 0
> bpd: >[127.0.0.1:59058]: playlist: 2
> bpd: >[127.0.0.1:59058]: playlistlength: 2
> bpd: >[127.0.0.1:59058]: mixrampdb: 0.0
> bpd: >[127.0.0.1:59058]: volume: 100
> bpd: >[127.0.0.1:59058]: state: play
> bpd: >[127.0.0.1:59058]: song: 0
> bpd: >[127.0.0.1:59058]: songid: 1
> bpd: >[127.0.0.1:59058]: bitrate: 0.0
> bpd: >[127.0.0.1:59058]: audio: 0:0:0
> bpd: >[127.0.0.1:59058]: time: 0:0
> bpd: >[127.0.0.1:59058]: elapsed: 0.000
> bpd: >[127.0.0.1:59058]: duration: 0.000
> bpd: >[127.0.0.1:59058]: list_OK
> bpd: >[127.0.0.1:59058]: list_OK
> bpd: >[127.0.0.1:59058]: file: Artist Name/Album Title/02 Track Two Title.mp3
> bpd: >[127.0.0.1:59058]: Time: 0
> bpd: >[127.0.0.1:59058]: Title: Track Two Title
> bpd: >[127.0.0.1:59058]: Artist: Artist Name
> bpd: >[127.0.0.1:59058]: Album: Album Title
> bpd: >[127.0.0.1:59058]: Genre: 
> bpd: >[127.0.0.1:59058]: Track: 2
> bpd: >[127.0.0.1:59058]: Date: 0
> bpd: >[127.0.0.1:59058]: Pos: 1
> bpd: >[127.0.0.1:59058]: Id: 2
> bpd: >[127.0.0.1:59058]: list_OK
> bpd: >[127.0.0.1:59058]: OK
> ok
> test_cmd_previous (test_player.BPDControlTest) ... overlaying configuration: /tmp/tmprwof31_z/tmp7qhtlryf.yaml
> no user configuration found at /tmp/tmprwof31_z/config.yaml
> data directory: /tmp/tmprwof31_z
> plugin paths: /tmp/tmprwof31_z
> Sending event: pluginload
> library database: /tmp/tmprwof31_z/library.db
> library directory: /tmp/tmprwof31_z/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:15328
> bpd: *[127.0.0.1:41122]: connected
> bpd: >[127.0.0.1:41122]: OK MPD 0.14.0
> bpd: <[127.0.0.1:41122]: command_list_ok_begin
> bpd: <[127.0.0.1:41122]: add "Artist Name/Album Title/01 Track One Title.mp3"
> bpd: <[127.0.0.1:41122]: add "Artist Name/Album Title/02 Track Two Title.mp3"
> bpd: <[127.0.0.1:41122]: command_list_end
> bpd: >[127.0.0.1:41122]: list_OK
> bpd: >[127.0.0.1:41122]: list_OK
> bpd: >[127.0.0.1:41122]: OK
> bpd: <[127.0.0.1:41122]: command_list_ok_begin
> bpd: <[127.0.0.1:41122]: play 1
> bpd: <[127.0.0.1:41122]: currentsong
> bpd: <[127.0.0.1:41122]: previous
> bpd: <[127.0.0.1:41122]: currentsong
> bpd: <[127.0.0.1:41122]: previous
> bpd: <[127.0.0.1:41122]: status
> bpd: <[127.0.0.1:41122]: currentsong
> bpd: <[127.0.0.1:41122]: command_list_end
> bpd: >[127.0.0.1:41122]: list_OK
> bpd: >[127.0.0.1:41122]: file: Artist Name/Album Title/02 Track Two Title.mp3
> bpd: >[127.0.0.1:41122]: Time: 0
> bpd: >[127.0.0.1:41122]: Title: Track Two Title
> bpd: >[127.0.0.1:41122]: Artist: Artist Name
> bpd: >[127.0.0.1:41122]: Album: Album Title
> bpd: >[127.0.0.1:41122]: Genre: 
> bpd: >[127.0.0.1:41122]: Track: 2
> bpd: >[127.0.0.1:41122]: Date: 0
> bpd: >[127.0.0.1:41122]: Pos: 1
> bpd: >[127.0.0.1:41122]: Id: 2
> bpd: >[127.0.0.1:41122]: list_OK
> bpd: >[127.0.0.1:41122]: list_OK
> bpd: >[127.0.0.1:41122]: file: Artist Name/Album Title/01 Track One Title.mp3
> bpd: >[127.0.0.1:41122]: Time: 0
> bpd: >[127.0.0.1:41122]: Title: Track One Title
> bpd: >[127.0.0.1:41122]: Artist: Artist Name
> bpd: >[127.0.0.1:41122]: Album: Album Title
> bpd: >[127.0.0.1:41122]: Genre: 
> bpd: >[127.0.0.1:41122]: Track: 1
> bpd: >[127.0.0.1:41122]: Date: 0
> bpd: >[127.0.0.1:41122]: Pos: 0
> bpd: >[127.0.0.1:41122]: Id: 1
> bpd: >[127.0.0.1:41122]: list_OK
> bpd: >[127.0.0.1:41122]: list_OK
> bpd: >[127.0.0.1:41122]: repeat: 0
> bpd: >[127.0.0.1:41122]: random: 0
> bpd: >[127.0.0.1:41122]: consume: 0
> bpd: >[127.0.0.1:41122]: single: 0
> bpd: >[127.0.0.1:41122]: playlist: 2
> bpd: >[127.0.0.1:41122]: playlistlength: 2
> bpd: >[127.0.0.1:41122]: mixrampdb: 0.0
> bpd: >[127.0.0.1:41122]: volume: 100
> bpd: >[127.0.0.1:41122]: state: play
> bpd: >[127.0.0.1:41122]: song: 0
> bpd: >[127.0.0.1:41122]: songid: 1
> bpd: >[127.0.0.1:41122]: bitrate: 0.0
> bpd: >[127.0.0.1:41122]: audio: 0:0:0
> bpd: >[127.0.0.1:41122]: time: 0:0
> bpd: >[127.0.0.1:41122]: elapsed: 0.000
> bpd: >[127.0.0.1:41122]: duration: 0.000
> bpd: >[127.0.0.1:41122]: list_OK
> bpd: >[127.0.0.1:41122]: file: Artist Name/Album Title/01 Track One Title.mp3
> bpd: >[127.0.0.1:41122]: Time: 0
> bpd: >[127.0.0.1:41122]: Title: Track One Title
> bpd: >[127.0.0.1:41122]: Artist: Artist Name
> bpd: >[127.0.0.1:41122]: Album: Album Title
> bpd: >[127.0.0.1:41122]: Genre: 
> bpd: >[127.0.0.1:41122]: Track: 1
> bpd: >[127.0.0.1:41122]: Date: 0
> bpd: >[127.0.0.1:41122]: Pos: 0
> bpd: >[127.0.0.1:41122]: Id: 1
> bpd: >[127.0.0.1:41122]: list_OK
> bpd: >[127.0.0.1:41122]: OK
> ok
> test_implements_control (test_player.BPDControlTest) ... overlaying configuration: /tmp/tmpt5936kv8/tmpuah2qee2.yaml
> no user configuration found at /tmp/tmpt5936kv8/config.yaml
> data directory: /tmp/tmpt5936kv8
> plugin paths: /tmp/tmpt5936kv8
> Sending event: pluginload
> library database: /tmp/tmpt5936kv8/library.db
> library directory: /tmp/tmpt5936kv8/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:9908
> bpd: *[127.0.0.1:39308]: connected
> bpd: >[127.0.0.1:39308]: OK MPD 0.14.0
> bpd: <[127.0.0.1:39308]: commands
> bpd: >[127.0.0.1:39308]: command: add
> bpd: >[127.0.0.1:39308]: command: addid
> bpd: >[127.0.0.1:39308]: command: clear
> bpd: >[127.0.0.1:39308]: command: clearerror
> bpd: >[127.0.0.1:39308]: command: close
> bpd: >[127.0.0.1:39308]: command: commands
> bpd: >[127.0.0.1:39308]: command: consume
> bpd: >[127.0.0.1:39308]: command: count
> bpd: >[127.0.0.1:39308]: command: crash_TypeError
> bpd: >[127.0.0.1:39308]: command: crossfade
> bpd: >[127.0.0.1:39308]: command: currentsong
> bpd: >[127.0.0.1:39308]: command: decoders
> bpd: >[127.0.0.1:39308]: command: delete
> bpd: >[127.0.0.1:39308]: command: deleteid
> bpd: >[127.0.0.1:39308]: command: disableoutput
> bpd: >[127.0.0.1:39308]: command: enableoutput
> bpd: >[127.0.0.1:39308]: command: find
> bpd: >[127.0.0.1:39308]: command: idle
> bpd: >[127.0.0.1:39308]: command: kill
> bpd: >[127.0.0.1:39308]: command: list
> bpd: >[127.0.0.1:39308]: command: listall
> bpd: >[127.0.0.1:39308]: command: listallinfo
> bpd: >[127.0.0.1:39308]: command: listplaylist
> bpd: >[127.0.0.1:39308]: command: listplaylistinfo
> bpd: >[127.0.0.1:39308]: command: listplaylists
> bpd: >[127.0.0.1:39308]: command: load
> bpd: >[127.0.0.1:39308]: command: lsinfo
> bpd: >[127.0.0.1:39308]: command: mixrampdb
> bpd: >[127.0.0.1:39308]: command: mixrampdelay
> bpd: >[127.0.0.1:39308]: command: move
> bpd: >[127.0.0.1:39308]: command: moveid
> bpd: >[127.0.0.1:39308]: command: next
> bpd: >[127.0.0.1:39308]: command: notcommands
> bpd: >[127.0.0.1:39308]: command: outputs
> bpd: >[127.0.0.1:39308]: command: password
> bpd: >[127.0.0.1:39308]: command: pause
> bpd: >[127.0.0.1:39308]: command: ping
> bpd: >[127.0.0.1:39308]: command: play
> bpd: >[127.0.0.1:39308]: command: playid
> bpd: >[127.0.0.1:39308]: command: playlistadd
> bpd: >[127.0.0.1:39308]: command: playlistclear
> bpd: >[127.0.0.1:39308]: command: playlistdelete
> bpd: >[127.0.0.1:39308]: command: playlistid
> bpd: >[127.0.0.1:39308]: command: playlistinfo
> bpd: >[127.0.0.1:39308]: command: playlistmove
> bpd: >[127.0.0.1:39308]: command: plchanges
> bpd: >[127.0.0.1:39308]: command: plchangesposid
> bpd: >[127.0.0.1:39308]: command: previous
> bpd: >[127.0.0.1:39308]: command: random
> bpd: >[127.0.0.1:39308]: command: rename
> bpd: >[127.0.0.1:39308]: command: repeat
> bpd: >[127.0.0.1:39308]: command: replay_gain_mode
> bpd: >[127.0.0.1:39308]: command: replay_gain_status
> bpd: >[127.0.0.1:39308]: command: rm
> bpd: >[127.0.0.1:39308]: command: save
> bpd: >[127.0.0.1:39308]: command: search
> bpd: >[127.0.0.1:39308]: command: seek
> bpd: >[127.0.0.1:39308]: command: seekid
> bpd: >[127.0.0.1:39308]: command: setvol
> bpd: >[127.0.0.1:39308]: command: single
> bpd: >[127.0.0.1:39308]: command: stats
> bpd: >[127.0.0.1:39308]: command: status
> bpd: >[127.0.0.1:39308]: command: stop
> bpd: >[127.0.0.1:39308]: command: swap
> bpd: >[127.0.0.1:39308]: command: swapid
> bpd: >[127.0.0.1:39308]: command: tagtypes
> bpd: >[127.0.0.1:39308]: command: update
> bpd: >[127.0.0.1:39308]: command: urlhandlers
> bpd: >[127.0.0.1:39308]: command: volume
> bpd: >[127.0.0.1:39308]: OK
> expected failure
> test_cmd_count (test_player.BPDDatabaseTest) ... overlaying configuration: /tmp/tmpljiut4_m/tmpmf9cqe_n.yaml
> no user configuration found at /tmp/tmpljiut4_m/config.yaml
> data directory: /tmp/tmpljiut4_m
> plugin paths: /tmp/tmpljiut4_m
> Sending event: pluginload
> library database: /tmp/tmpljiut4_m/library.db
> library directory: /tmp/tmpljiut4_m/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:17639
> bpd: *[127.0.0.1:43530]: connected
> bpd: >[127.0.0.1:43530]: OK MPD 0.14.0
> bpd: <[127.0.0.1:43530]: count track 1
> bpd: >[127.0.0.1:43530]: songs: 1
> bpd: >[127.0.0.1:43530]: playtime: 0
> bpd: >[127.0.0.1:43530]: OK
> ok
> test_cmd_list (test_player.BPDDatabaseTest) ... overlaying configuration: /tmp/tmpysunwnyf/tmp5vjjxjvh.yaml
> no user configuration found at /tmp/tmpysunwnyf/config.yaml
> data directory: /tmp/tmpysunwnyf
> plugin paths: /tmp/tmpysunwnyf
> Sending event: pluginload
> library database: /tmp/tmpysunwnyf/library.db
> library directory: /tmp/tmpysunwnyf/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:19419
> bpd: *[127.0.0.1:58982]: connected
> bpd: >[127.0.0.1:58982]: OK MPD 0.14.0
> bpd: <[127.0.0.1:58982]: command_list_ok_begin
> bpd: <[127.0.0.1:58982]: list album
> bpd: <[127.0.0.1:58982]: list track
> bpd: <[127.0.0.1:58982]: list album artist "Artist Name" track
> bpd: <[127.0.0.1:58982]: command_list_end
> bpd: SELECT DISTINCT album FROM items WHERE 1 ORDER BY album
> bpd: >[127.0.0.1:58982]: Album: Album Title
> bpd: >[127.0.0.1:58982]: list_OK
> bpd: SELECT DISTINCT track FROM items WHERE 1 ORDER BY track
> bpd: >[127.0.0.1:58982]: Track: 1
> bpd: >[127.0.0.1:58982]: Track: 2
> bpd: >[127.0.0.1:58982]: list_OK
> bpd: >[127.0.0.1:58982]: ACK [2 at 2] {list} Incorrect number of filter arguments
> ok
> test_cmd_list_three_arg_form (test_player.BPDDatabaseTest) ... overlaying configuration: /tmp/tmpdx3b5n6o/tmpoint6sx0.yaml
> no user configuration found at /tmp/tmpdx3b5n6o/config.yaml
> data directory: /tmp/tmpdx3b5n6o
> plugin paths: /tmp/tmpdx3b5n6o
> Sending event: pluginload
> library database: /tmp/tmpdx3b5n6o/library.db
> library directory: /tmp/tmpdx3b5n6o/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:11152
> bpd: *[127.0.0.1:43476]: connected
> bpd: >[127.0.0.1:43476]: OK MPD 0.14.0
> bpd: <[127.0.0.1:43476]: command_list_ok_begin
> bpd: <[127.0.0.1:43476]: list album artist "Artist Name"
> bpd: <[127.0.0.1:43476]: list album "Artist Name"
> bpd: <[127.0.0.1:43476]: list track "Artist Name"
> bpd: <[127.0.0.1:43476]: command_list_end
> bpd: SELECT DISTINCT album FROM items WHERE (artist = ?) ORDER BY album
> bpd: >[127.0.0.1:43476]: Album: Album Title
> bpd: >[127.0.0.1:43476]: list_OK
> bpd: SELECT DISTINCT album FROM items WHERE (artist = ?) ORDER BY album
> bpd: >[127.0.0.1:43476]: Album: Album Title
> bpd: >[127.0.0.1:43476]: list_OK
> bpd: >[127.0.0.1:43476]: ACK [2 at 2] {list} should be "Album" for 3 arguments
> ok
> test_cmd_lsinfo (test_player.BPDDatabaseTest) ... overlaying configuration: /tmp/tmpinqmrl8g/tmppiks_oqd.yaml
> no user configuration found at /tmp/tmpinqmrl8g/config.yaml
> data directory: /tmp/tmpinqmrl8g
> plugin paths: /tmp/tmpinqmrl8g
> Sending event: pluginload
> library database: /tmp/tmpinqmrl8g/library.db
> library directory: /tmp/tmpinqmrl8g/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:13140
> bpd: *[127.0.0.1:37272]: connected
> bpd: >[127.0.0.1:37272]: OK MPD 0.14.0
> bpd: <[127.0.0.1:37272]: lsinfo
> bpd: >[127.0.0.1:37272]: directory: Artist Name
> bpd: >[127.0.0.1:37272]: OK
> bpd: <[127.0.0.1:37272]: lsinfo "Artist Name"
> bpd: >[127.0.0.1:37272]: directory: Artist Name/Album Title
> bpd: >[127.0.0.1:37272]: OK
> bpd: <[127.0.0.1:37272]: lsinfo "Artist Name/Album Title"
> bpd: >[127.0.0.1:37272]: file: Artist Name/Album Title/01 Track One Title.mp3
> bpd: >[127.0.0.1:37272]: Time: 0
> bpd: >[127.0.0.1:37272]: Title: Track One Title
> bpd: >[127.0.0.1:37272]: Artist: Artist Name
> bpd: >[127.0.0.1:37272]: Album: Album Title
> bpd: >[127.0.0.1:37272]: Genre: 
> bpd: >[127.0.0.1:37272]: Track: 1
> bpd: >[127.0.0.1:37272]: Date: 0
> bpd: >[127.0.0.1:37272]: Id: 1
> bpd: >[127.0.0.1:37272]: file: Artist Name/Album Title/02 Track Two Title.mp3
> bpd: >[127.0.0.1:37272]: Time: 0
> bpd: >[127.0.0.1:37272]: Title: Track Two Title
> bpd: >[127.0.0.1:37272]: Artist: Artist Name
> bpd: >[127.0.0.1:37272]: Album: Album Title
> bpd: >[127.0.0.1:37272]: Genre: 
> bpd: >[127.0.0.1:37272]: Track: 2
> bpd: >[127.0.0.1:37272]: Date: 0
> bpd: >[127.0.0.1:37272]: Id: 2
> bpd: >[127.0.0.1:37272]: OK
> ok
> test_cmd_search (test_player.BPDDatabaseTest) ... overlaying configuration: /tmp/tmpcqn7wtwn/tmpbzm8jede.yaml
> no user configuration found at /tmp/tmpcqn7wtwn/config.yaml
> data directory: /tmp/tmpcqn7wtwn
> plugin paths: /tmp/tmpcqn7wtwn
> Sending event: pluginload
> library database: /tmp/tmpcqn7wtwn/library.db
> library directory: /tmp/tmpcqn7wtwn/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:13817
> bpd: *[127.0.0.1:56862]: connected
> bpd: >[127.0.0.1:56862]: OK MPD 0.14.0
> bpd: <[127.0.0.1:56862]: search track 1
> bpd: >[127.0.0.1:56862]: file: Artist Name/Album Title/01 Track One Title.mp3
> bpd: >[127.0.0.1:56862]: Time: 0
> bpd: >[127.0.0.1:56862]: Title: Track One Title
> bpd: >[127.0.0.1:56862]: Artist: Artist Name
> bpd: >[127.0.0.1:56862]: Album: Album Title
> bpd: >[127.0.0.1:56862]: Genre: 
> bpd: >[127.0.0.1:56862]: Track: 1
> bpd: >[127.0.0.1:56862]: Date: 0
> bpd: >[127.0.0.1:56862]: Id: 1
> bpd: >[127.0.0.1:56862]: OK
> ok
> test_implements_database (test_player.BPDDatabaseTest) ... overlaying configuration: /tmp/tmpma8747cg/tmpn5gloyh6.yaml
> no user configuration found at /tmp/tmpma8747cg/config.yaml
> data directory: /tmp/tmpma8747cg
> plugin paths: /tmp/tmpma8747cg
> Sending event: pluginload
> library database: /tmp/tmpma8747cg/library.db
> library directory: /tmp/tmpma8747cg/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:15790
> bpd: *[127.0.0.1:60994]: connected
> bpd: >[127.0.0.1:60994]: OK MPD 0.14.0
> bpd: <[127.0.0.1:60994]: commands
> bpd: >[127.0.0.1:60994]: command: add
> bpd: >[127.0.0.1:60994]: command: addid
> bpd: >[127.0.0.1:60994]: command: clear
> bpd: >[127.0.0.1:60994]: command: clearerror
> bpd: >[127.0.0.1:60994]: command: close
> bpd: >[127.0.0.1:60994]: command: commands
> bpd: >[127.0.0.1:60994]: command: consume
> bpd: >[127.0.0.1:60994]: command: count
> bpd: >[127.0.0.1:60994]: command: crash_TypeError
> bpd: >[127.0.0.1:60994]: command: crossfade
> bpd: >[127.0.0.1:60994]: command: currentsong
> bpd: >[127.0.0.1:60994]: command: decoders
> bpd: >[127.0.0.1:60994]: command: delete
> bpd: >[127.0.0.1:60994]: command: deleteid
> bpd: >[127.0.0.1:60994]: command: disableoutput
> bpd: >[127.0.0.1:60994]: command: enableoutput
> bpd: >[127.0.0.1:60994]: command: find
> bpd: >[127.0.0.1:60994]: command: idle
> bpd: >[127.0.0.1:60994]: command: kill
> bpd: >[127.0.0.1:60994]: command: list
> bpd: >[127.0.0.1:60994]: command: listall
> bpd: >[127.0.0.1:60994]: command: listallinfo
> bpd: >[127.0.0.1:60994]: command: listplaylist
> bpd: >[127.0.0.1:60994]: command: listplaylistinfo
> bpd: >[127.0.0.1:60994]: command: listplaylists
> bpd: >[127.0.0.1:60994]: command: load
> bpd: >[127.0.0.1:60994]: command: lsinfo
> bpd: >[127.0.0.1:60994]: command: mixrampdb
> bpd: >[127.0.0.1:60994]: command: mixrampdelay
> bpd: >[127.0.0.1:60994]: command: move
> bpd: >[127.0.0.1:60994]: command: moveid
> bpd: >[127.0.0.1:60994]: command: next
> bpd: >[127.0.0.1:60994]: command: notcommands
> bpd: >[127.0.0.1:60994]: command: outputs
> bpd: >[127.0.0.1:60994]: command: password
> bpd: >[127.0.0.1:60994]: command: pause
> bpd: >[127.0.0.1:60994]: command: ping
> bpd: >[127.0.0.1:60994]: command: play
> bpd: >[127.0.0.1:60994]: command: playid
> bpd: >[127.0.0.1:60994]: command: playlistadd
> bpd: >[127.0.0.1:60994]: command: playlistclear
> bpd: >[127.0.0.1:60994]: command: playlistdelete
> bpd: >[127.0.0.1:60994]: command: playlistid
> bpd: >[127.0.0.1:60994]: command: playlistinfo
> bpd: >[127.0.0.1:60994]: command: playlistmove
> bpd: >[127.0.0.1:60994]: command: plchanges
> bpd: >[127.0.0.1:60994]: command: plchangesposid
> bpd: >[127.0.0.1:60994]: command: previous
> bpd: >[127.0.0.1:60994]: command: random
> bpd: >[127.0.0.1:60994]: command: rename
> bpd: >[127.0.0.1:60994]: command: repeat
> bpd: >[127.0.0.1:60994]: command: replay_gain_mode
> bpd: >[127.0.0.1:60994]: command: replay_gain_status
> bpd: >[127.0.0.1:60994]: command: rm
> bpd: >[127.0.0.1:60994]: command: save
> bpd: >[127.0.0.1:60994]: command: search
> bpd: >[127.0.0.1:60994]: command: seek
> bpd: >[127.0.0.1:60994]: command: seekid
> bpd: >[127.0.0.1:60994]: command: setvol
> bpd: >[127.0.0.1:60994]: command: single
> bpd: >[127.0.0.1:60994]: command: stats
> bpd: >[127.0.0.1:60994]: command: status
> bpd: >[127.0.0.1:60994]: command: stop
> bpd: >[127.0.0.1:60994]: command: swap
> bpd: >[127.0.0.1:60994]: command: swapid
> bpd: >[127.0.0.1:60994]: command: tagtypes
> bpd: >[127.0.0.1:60994]: command: update
> bpd: >[127.0.0.1:60994]: command: urlhandlers
> bpd: >[127.0.0.1:60994]: command: volume
> bpd: >[127.0.0.1:60994]: OK
> expected failure
> test_implements_devices (test_player.BPDDeviceTest) ... overlaying configuration: /tmp/tmpmwnvo_er/tmpdr3n2wj1.yaml
> no user configuration found at /tmp/tmpmwnvo_er/config.yaml
> data directory: /tmp/tmpmwnvo_er
> plugin paths: /tmp/tmpmwnvo_er
> Sending event: pluginload
> library database: /tmp/tmpmwnvo_er/library.db
> library directory: /tmp/tmpmwnvo_er/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:11070
> bpd: *[127.0.0.1:60094]: connected
> bpd: >[127.0.0.1:60094]: OK MPD 0.14.0
> bpd: <[127.0.0.1:60094]: commands
> bpd: >[127.0.0.1:60094]: command: add
> bpd: >[127.0.0.1:60094]: command: addid
> bpd: >[127.0.0.1:60094]: command: clear
> bpd: >[127.0.0.1:60094]: command: clearerror
> bpd: >[127.0.0.1:60094]: command: close
> bpd: >[127.0.0.1:60094]: command: commands
> bpd: >[127.0.0.1:60094]: command: consume
> bpd: >[127.0.0.1:60094]: command: count
> bpd: >[127.0.0.1:60094]: command: crash_TypeError
> bpd: >[127.0.0.1:60094]: command: crossfade
> bpd: >[127.0.0.1:60094]: command: currentsong
> bpd: >[127.0.0.1:60094]: command: decoders
> bpd: >[127.0.0.1:60094]: command: delete
> bpd: >[127.0.0.1:60094]: command: deleteid
> bpd: >[127.0.0.1:60094]: command: disableoutput
> bpd: >[127.0.0.1:60094]: command: enableoutput
> bpd: >[127.0.0.1:60094]: command: find
> bpd: >[127.0.0.1:60094]: command: idle
> bpd: >[127.0.0.1:60094]: command: kill
> bpd: >[127.0.0.1:60094]: command: list
> bpd: >[127.0.0.1:60094]: command: listall
> bpd: >[127.0.0.1:60094]: command: listallinfo
> bpd: >[127.0.0.1:60094]: command: listplaylist
> bpd: >[127.0.0.1:60094]: command: listplaylistinfo
> bpd: >[127.0.0.1:60094]: command: listplaylists
> bpd: >[127.0.0.1:60094]: command: load
> bpd: >[127.0.0.1:60094]: command: lsinfo
> bpd: >[127.0.0.1:60094]: command: mixrampdb
> bpd: >[127.0.0.1:60094]: command: mixrampdelay
> bpd: >[127.0.0.1:60094]: command: move
> bpd: >[127.0.0.1:60094]: command: moveid
> bpd: >[127.0.0.1:60094]: command: next
> bpd: >[127.0.0.1:60094]: command: notcommands
> bpd: >[127.0.0.1:60094]: command: outputs
> bpd: >[127.0.0.1:60094]: command: password
> bpd: >[127.0.0.1:60094]: command: pause
> bpd: >[127.0.0.1:60094]: command: ping
> bpd: >[127.0.0.1:60094]: command: play
> bpd: >[127.0.0.1:60094]: command: playid
> bpd: >[127.0.0.1:60094]: command: playlistadd
> bpd: >[127.0.0.1:60094]: command: playlistclear
> bpd: >[127.0.0.1:60094]: command: playlistdelete
> bpd: >[127.0.0.1:60094]: command: playlistid
> bpd: >[127.0.0.1:60094]: command: playlistinfo
> bpd: >[127.0.0.1:60094]: command: playlistmove
> bpd: >[127.0.0.1:60094]: command: plchanges
> bpd: >[127.0.0.1:60094]: command: plchangesposid
> bpd: >[127.0.0.1:60094]: command: previous
> bpd: >[127.0.0.1:60094]: command: random
> bpd: >[127.0.0.1:60094]: command: rename
> bpd: >[127.0.0.1:60094]: command: repeat
> bpd: >[127.0.0.1:60094]: command: replay_gain_mode
> bpd: >[127.0.0.1:60094]: command: replay_gain_status
> bpd: >[127.0.0.1:60094]: command: rm
> bpd: >[127.0.0.1:60094]: command: save
> bpd: >[127.0.0.1:60094]: command: search
> bpd: >[127.0.0.1:60094]: command: seek
> bpd: >[127.0.0.1:60094]: command: seekid
> bpd: >[127.0.0.1:60094]: command: setvol
> bpd: >[127.0.0.1:60094]: command: single
> bpd: >[127.0.0.1:60094]: command: stats
> bpd: >[127.0.0.1:60094]: command: status
> bpd: >[127.0.0.1:60094]: command: stop
> bpd: >[127.0.0.1:60094]: command: swap
> bpd: >[127.0.0.1:60094]: command: swapid
> bpd: >[127.0.0.1:60094]: command: tagtypes
> bpd: >[127.0.0.1:60094]: command: update
> bpd: >[127.0.0.1:60094]: command: urlhandlers
> bpd: >[127.0.0.1:60094]: command: volume
> bpd: >[127.0.0.1:60094]: OK
> expected failure
> test_implements_mounts (test_player.BPDMountsTest) ... overlaying configuration: /tmp/tmpfi4_cx9o/tmphe36lot_.yaml
> no user configuration found at /tmp/tmpfi4_cx9o/config.yaml
> data directory: /tmp/tmpfi4_cx9o
> plugin paths: /tmp/tmpfi4_cx9o
> Sending event: pluginload
> library database: /tmp/tmpfi4_cx9o/library.db
> library directory: /tmp/tmpfi4_cx9o/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:15900
> bpd: *[127.0.0.1:54534]: connected
> bpd: >[127.0.0.1:54534]: OK MPD 0.14.0
> bpd: <[127.0.0.1:54534]: commands
> bpd: >[127.0.0.1:54534]: command: add
> bpd: >[127.0.0.1:54534]: command: addid
> bpd: >[127.0.0.1:54534]: command: clear
> bpd: >[127.0.0.1:54534]: command: clearerror
> bpd: >[127.0.0.1:54534]: command: close
> bpd: >[127.0.0.1:54534]: command: commands
> bpd: >[127.0.0.1:54534]: command: consume
> bpd: >[127.0.0.1:54534]: command: count
> bpd: >[127.0.0.1:54534]: command: crash_TypeError
> bpd: >[127.0.0.1:54534]: command: crossfade
> bpd: >[127.0.0.1:54534]: command: currentsong
> bpd: >[127.0.0.1:54534]: command: decoders
> bpd: >[127.0.0.1:54534]: command: delete
> bpd: >[127.0.0.1:54534]: command: deleteid
> bpd: >[127.0.0.1:54534]: command: disableoutput
> bpd: >[127.0.0.1:54534]: command: enableoutput
> bpd: >[127.0.0.1:54534]: command: find
> bpd: >[127.0.0.1:54534]: command: idle
> bpd: >[127.0.0.1:54534]: command: kill
> bpd: >[127.0.0.1:54534]: command: list
> bpd: >[127.0.0.1:54534]: command: listall
> bpd: >[127.0.0.1:54534]: command: listallinfo
> bpd: >[127.0.0.1:54534]: command: listplaylist
> bpd: >[127.0.0.1:54534]: command: listplaylistinfo
> bpd: >[127.0.0.1:54534]: command: listplaylists
> bpd: >[127.0.0.1:54534]: command: load
> bpd: >[127.0.0.1:54534]: command: lsinfo
> bpd: >[127.0.0.1:54534]: command: mixrampdb
> bpd: >[127.0.0.1:54534]: command: mixrampdelay
> bpd: >[127.0.0.1:54534]: command: move
> bpd: >[127.0.0.1:54534]: command: moveid
> bpd: >[127.0.0.1:54534]: command: next
> bpd: >[127.0.0.1:54534]: command: notcommands
> bpd: >[127.0.0.1:54534]: command: outputs
> bpd: >[127.0.0.1:54534]: command: password
> bpd: >[127.0.0.1:54534]: command: pause
> bpd: >[127.0.0.1:54534]: command: ping
> bpd: >[127.0.0.1:54534]: command: play
> bpd: >[127.0.0.1:54534]: command: playid
> bpd: >[127.0.0.1:54534]: command: playlistadd
> bpd: >[127.0.0.1:54534]: command: playlistclear
> bpd: >[127.0.0.1:54534]: command: playlistdelete
> bpd: >[127.0.0.1:54534]: command: playlistid
> bpd: >[127.0.0.1:54534]: command: playlistinfo
> bpd: >[127.0.0.1:54534]: command: playlistmove
> bpd: >[127.0.0.1:54534]: command: plchanges
> bpd: >[127.0.0.1:54534]: command: plchangesposid
> bpd: >[127.0.0.1:54534]: command: previous
> bpd: >[127.0.0.1:54534]: command: random
> bpd: >[127.0.0.1:54534]: command: rename
> bpd: >[127.0.0.1:54534]: command: repeat
> bpd: >[127.0.0.1:54534]: command: replay_gain_mode
> bpd: >[127.0.0.1:54534]: command: replay_gain_status
> bpd: >[127.0.0.1:54534]: command: rm
> bpd: >[127.0.0.1:54534]: command: save
> bpd: >[127.0.0.1:54534]: command: search
> bpd: >[127.0.0.1:54534]: command: seek
> bpd: >[127.0.0.1:54534]: command: seekid
> bpd: >[127.0.0.1:54534]: command: setvol
> bpd: >[127.0.0.1:54534]: command: single
> bpd: >[127.0.0.1:54534]: command: stats
> bpd: >[127.0.0.1:54534]: command: status
> bpd: >[127.0.0.1:54534]: command: stop
> bpd: >[127.0.0.1:54534]: command: swap
> bpd: >[127.0.0.1:54534]: command: swapid
> bpd: >[127.0.0.1:54534]: command: tagtypes
> bpd: >[127.0.0.1:54534]: command: update
> bpd: >[127.0.0.1:54534]: command: urlhandlers
> bpd: >[127.0.0.1:54534]: command: volume
> bpd: >[127.0.0.1:54534]: OK
> expected failure
> test_implements_partitions (test_player.BPDPartitionTest) ... overlaying configuration: /tmp/tmp20lgac6j/tmpzi_zulvn.yaml
> no user configuration found at /tmp/tmp20lgac6j/config.yaml
> data directory: /tmp/tmp20lgac6j
> plugin paths: /tmp/tmp20lgac6j
> Sending event: pluginload
> library database: /tmp/tmp20lgac6j/library.db
> library directory: /tmp/tmp20lgac6j/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:15572
> bpd: *[127.0.0.1:46248]: connected
> bpd: >[127.0.0.1:46248]: OK MPD 0.14.0
> bpd: <[127.0.0.1:46248]: commands
> bpd: >[127.0.0.1:46248]: command: add
> bpd: >[127.0.0.1:46248]: command: addid
> bpd: >[127.0.0.1:46248]: command: clear
> bpd: >[127.0.0.1:46248]: command: clearerror
> bpd: >[127.0.0.1:46248]: command: close
> bpd: >[127.0.0.1:46248]: command: commands
> bpd: >[127.0.0.1:46248]: command: consume
> bpd: >[127.0.0.1:46248]: command: count
> bpd: >[127.0.0.1:46248]: command: crash_TypeError
> bpd: >[127.0.0.1:46248]: command: crossfade
> bpd: >[127.0.0.1:46248]: command: currentsong
> bpd: >[127.0.0.1:46248]: command: decoders
> bpd: >[127.0.0.1:46248]: command: delete
> bpd: >[127.0.0.1:46248]: command: deleteid
> bpd: >[127.0.0.1:46248]: command: disableoutput
> bpd: >[127.0.0.1:46248]: command: enableoutput
> bpd: >[127.0.0.1:46248]: command: find
> bpd: >[127.0.0.1:46248]: command: idle
> bpd: >[127.0.0.1:46248]: command: kill
> bpd: >[127.0.0.1:46248]: command: list
> bpd: >[127.0.0.1:46248]: command: listall
> bpd: >[127.0.0.1:46248]: command: listallinfo
> bpd: >[127.0.0.1:46248]: command: listplaylist
> bpd: >[127.0.0.1:46248]: command: listplaylistinfo
> bpd: >[127.0.0.1:46248]: command: listplaylists
> bpd: >[127.0.0.1:46248]: command: load
> bpd: >[127.0.0.1:46248]: command: lsinfo
> bpd: >[127.0.0.1:46248]: command: mixrampdb
> bpd: >[127.0.0.1:46248]: command: mixrampdelay
> bpd: >[127.0.0.1:46248]: command: move
> bpd: >[127.0.0.1:46248]: command: moveid
> bpd: >[127.0.0.1:46248]: command: next
> bpd: >[127.0.0.1:46248]: command: notcommands
> bpd: >[127.0.0.1:46248]: command: outputs
> bpd: >[127.0.0.1:46248]: command: password
> bpd: >[127.0.0.1:46248]: command: pause
> bpd: >[127.0.0.1:46248]: command: ping
> bpd: >[127.0.0.1:46248]: command: play
> bpd: >[127.0.0.1:46248]: command: playid
> bpd: >[127.0.0.1:46248]: command: playlistadd
> bpd: >[127.0.0.1:46248]: command: playlistclear
> bpd: >[127.0.0.1:46248]: command: playlistdelete
> bpd: >[127.0.0.1:46248]: command: playlistid
> bpd: >[127.0.0.1:46248]: command: playlistinfo
> bpd: >[127.0.0.1:46248]: command: playlistmove
> bpd: >[127.0.0.1:46248]: command: plchanges
> bpd: >[127.0.0.1:46248]: command: plchangesposid
> bpd: >[127.0.0.1:46248]: command: previous
> bpd: >[127.0.0.1:46248]: command: random
> bpd: >[127.0.0.1:46248]: command: rename
> bpd: >[127.0.0.1:46248]: command: repeat
> bpd: >[127.0.0.1:46248]: command: replay_gain_mode
> bpd: >[127.0.0.1:46248]: command: replay_gain_status
> bpd: >[127.0.0.1:46248]: command: rm
> bpd: >[127.0.0.1:46248]: command: save
> bpd: >[127.0.0.1:46248]: command: search
> bpd: >[127.0.0.1:46248]: command: seek
> bpd: >[127.0.0.1:46248]: command: seekid
> bpd: >[127.0.0.1:46248]: command: setvol
> bpd: >[127.0.0.1:46248]: command: single
> bpd: >[127.0.0.1:46248]: command: stats
> bpd: >[127.0.0.1:46248]: command: status
> bpd: >[127.0.0.1:46248]: command: stop
> bpd: >[127.0.0.1:46248]: command: swap
> bpd: >[127.0.0.1:46248]: command: swapid
> bpd: >[127.0.0.1:46248]: command: tagtypes
> bpd: >[127.0.0.1:46248]: command: update
> bpd: >[127.0.0.1:46248]: command: urlhandlers
> bpd: >[127.0.0.1:46248]: command: volume
> bpd: >[127.0.0.1:46248]: OK
> expected failure
> test_implements_peers (test_player.BPDPeersTest) ... overlaying configuration: /tmp/tmpdamcz3i9/tmp53c5znwk.yaml
> no user configuration found at /tmp/tmpdamcz3i9/config.yaml
> data directory: /tmp/tmpdamcz3i9
> plugin paths: /tmp/tmpdamcz3i9
> Sending event: pluginload
> library database: /tmp/tmpdamcz3i9/library.db
> library directory: /tmp/tmpdamcz3i9/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:11008
> bpd: *[127.0.0.1:34930]: connected
> bpd: >[127.0.0.1:34930]: OK MPD 0.14.0
> bpd: <[127.0.0.1:34930]: commands
> bpd: >[127.0.0.1:34930]: command: add
> bpd: >[127.0.0.1:34930]: command: addid
> bpd: >[127.0.0.1:34930]: command: clear
> bpd: >[127.0.0.1:34930]: command: clearerror
> bpd: >[127.0.0.1:34930]: command: close
> bpd: >[127.0.0.1:34930]: command: commands
> bpd: >[127.0.0.1:34930]: command: consume
> bpd: >[127.0.0.1:34930]: command: count
> bpd: >[127.0.0.1:34930]: command: crash_TypeError
> bpd: >[127.0.0.1:34930]: command: crossfade
> bpd: >[127.0.0.1:34930]: command: currentsong
> bpd: >[127.0.0.1:34930]: command: decoders
> bpd: >[127.0.0.1:34930]: command: delete
> bpd: >[127.0.0.1:34930]: command: deleteid
> bpd: >[127.0.0.1:34930]: command: disableoutput
> bpd: >[127.0.0.1:34930]: command: enableoutput
> bpd: >[127.0.0.1:34930]: command: find
> bpd: >[127.0.0.1:34930]: command: idle
> bpd: >[127.0.0.1:34930]: command: kill
> bpd: >[127.0.0.1:34930]: command: list
> bpd: >[127.0.0.1:34930]: command: listall
> bpd: >[127.0.0.1:34930]: command: listallinfo
> bpd: >[127.0.0.1:34930]: command: listplaylist
> bpd: >[127.0.0.1:34930]: command: listplaylistinfo
> bpd: >[127.0.0.1:34930]: command: listplaylists
> bpd: >[127.0.0.1:34930]: command: load
> bpd: >[127.0.0.1:34930]: command: lsinfo
> bpd: >[127.0.0.1:34930]: command: mixrampdb
> bpd: >[127.0.0.1:34930]: command: mixrampdelay
> bpd: >[127.0.0.1:34930]: command: move
> bpd: >[127.0.0.1:34930]: command: moveid
> bpd: >[127.0.0.1:34930]: command: next
> bpd: >[127.0.0.1:34930]: command: notcommands
> bpd: >[127.0.0.1:34930]: command: outputs
> bpd: >[127.0.0.1:34930]: command: password
> bpd: >[127.0.0.1:34930]: command: pause
> bpd: >[127.0.0.1:34930]: command: ping
> bpd: >[127.0.0.1:34930]: command: play
> bpd: >[127.0.0.1:34930]: command: playid
> bpd: >[127.0.0.1:34930]: command: playlistadd
> bpd: >[127.0.0.1:34930]: command: playlistclear
> bpd: >[127.0.0.1:34930]: command: playlistdelete
> bpd: >[127.0.0.1:34930]: command: playlistid
> bpd: >[127.0.0.1:34930]: command: playlistinfo
> bpd: >[127.0.0.1:34930]: command: playlistmove
> bpd: >[127.0.0.1:34930]: command: plchanges
> bpd: >[127.0.0.1:34930]: command: plchangesposid
> bpd: >[127.0.0.1:34930]: command: previous
> bpd: >[127.0.0.1:34930]: command: random
> bpd: >[127.0.0.1:34930]: command: rename
> bpd: >[127.0.0.1:34930]: command: repeat
> bpd: >[127.0.0.1:34930]: command: replay_gain_mode
> bpd: >[127.0.0.1:34930]: command: replay_gain_status
> bpd: >[127.0.0.1:34930]: command: rm
> bpd: >[127.0.0.1:34930]: command: save
> bpd: >[127.0.0.1:34930]: command: search
> bpd: >[127.0.0.1:34930]: command: seek
> bpd: >[127.0.0.1:34930]: command: seekid
> bpd: >[127.0.0.1:34930]: command: setvol
> bpd: >[127.0.0.1:34930]: command: single
> bpd: >[127.0.0.1:34930]: command: stats
> bpd: >[127.0.0.1:34930]: command: status
> bpd: >[127.0.0.1:34930]: command: stop
> bpd: >[127.0.0.1:34930]: command: swap
> bpd: >[127.0.0.1:34930]: command: swapid
> bpd: >[127.0.0.1:34930]: command: tagtypes
> bpd: >[127.0.0.1:34930]: command: update
> bpd: >[127.0.0.1:34930]: command: urlhandlers
> bpd: >[127.0.0.1:34930]: command: volume
> bpd: >[127.0.0.1:34930]: OK
> expected failure
> test_cmd_consume (test_player.BPDPlaybackTest) ... overlaying configuration: /tmp/tmp367xq_it/tmpr04t6w76.yaml
> no user configuration found at /tmp/tmp367xq_it/config.yaml
> data directory: /tmp/tmp367xq_it
> plugin paths: /tmp/tmp367xq_it
> Sending event: pluginload
> library database: /tmp/tmp367xq_it/library.db
> library directory: /tmp/tmp367xq_it/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:18861
> bpd: *[127.0.0.1:39044]: connected
> bpd: >[127.0.0.1:39044]: OK MPD 0.14.0
> bpd: <[127.0.0.1:39044]: command_list_ok_begin
> bpd: <[127.0.0.1:39044]: add "Artist Name/Album Title/01 Track One Title.mp3"
> bpd: <[127.0.0.1:39044]: add "Artist Name/Album Title/02 Track Two Title.mp3"
> bpd: <[127.0.0.1:39044]: command_list_end
> bpd: >[127.0.0.1:39044]: list_OK
> bpd: >[127.0.0.1:39044]: list_OK
> bpd: >[127.0.0.1:39044]: OK
> bpd: <[127.0.0.1:39044]: command_list_ok_begin
> bpd: <[127.0.0.1:39044]: consume 0
> bpd: <[127.0.0.1:39044]: playlistinfo
> bpd: <[127.0.0.1:39044]: next
> bpd: <[127.0.0.1:39044]: playlistinfo
> bpd: <[127.0.0.1:39044]: consume 1
> bpd: <[127.0.0.1:39044]: playlistinfo
> bpd: <[127.0.0.1:39044]: play 0
> bpd: <[127.0.0.1:39044]: next
> bpd: <[127.0.0.1:39044]: playlistinfo
> bpd: <[127.0.0.1:39044]: status
> bpd: <[127.0.0.1:39044]: command_list_end
> bpd: >[127.0.0.1:39044]: list_OK
> bpd: >[127.0.0.1:39044]: file: Artist Name/Album Title/01 Track One Title.mp3
> bpd: >[127.0.0.1:39044]: Time: 0
> bpd: >[127.0.0.1:39044]: Title: Track One Title
> bpd: >[127.0.0.1:39044]: Artist: Artist Name
> bpd: >[127.0.0.1:39044]: Album: Album Title
> bpd: >[127.0.0.1:39044]: Genre: 
> bpd: >[127.0.0.1:39044]: Track: 1
> bpd: >[127.0.0.1:39044]: Date: 0
> bpd: >[127.0.0.1:39044]: Pos: 0
> bpd: >[127.0.0.1:39044]: Id: 1
> bpd: >[127.0.0.1:39044]: file: Artist Name/Album Title/02 Track Two Title.mp3
> bpd: >[127.0.0.1:39044]: Time: 0
> bpd: >[127.0.0.1:39044]: Title: Track Two Title
> bpd: >[127.0.0.1:39044]: Artist: Artist Name
> bpd: >[127.0.0.1:39044]: Album: Album Title
> bpd: >[127.0.0.1:39044]: Genre: 
> bpd: >[127.0.0.1:39044]: Track: 2
> bpd: >[127.0.0.1:39044]: Date: 0
> bpd: >[127.0.0.1:39044]: Pos: 1
> bpd: >[127.0.0.1:39044]: Id: 2
> bpd: >[127.0.0.1:39044]: list_OK
> bpd: >[127.0.0.1:39044]: list_OK
> bpd: >[127.0.0.1:39044]: file: Artist Name/Album Title/01 Track One Title.mp3
> bpd: >[127.0.0.1:39044]: Time: 0
> bpd: >[127.0.0.1:39044]: Title: Track One Title
> bpd: >[127.0.0.1:39044]: Artist: Artist Name
> bpd: >[127.0.0.1:39044]: Album: Album Title
> bpd: >[127.0.0.1:39044]: Genre: 
> bpd: >[127.0.0.1:39044]: Track: 1
> bpd: >[127.0.0.1:39044]: Date: 0
> bpd: >[127.0.0.1:39044]: Pos: 0
> bpd: >[127.0.0.1:39044]: Id: 1
> bpd: >[127.0.0.1:39044]: file: Artist Name/Album Title/02 Track Two Title.mp3
> bpd: >[127.0.0.1:39044]: Time: 0
> bpd: >[127.0.0.1:39044]: Title: Track Two Title
> bpd: >[127.0.0.1:39044]: Artist: Artist Name
> bpd: >[127.0.0.1:39044]: Album: Album Title
> bpd: >[127.0.0.1:39044]: Genre: 
> bpd: >[127.0.0.1:39044]: Track: 2
> bpd: >[127.0.0.1:39044]: Date: 0
> bpd: >[127.0.0.1:39044]: Pos: 1
> bpd: >[127.0.0.1:39044]: Id: 2
> bpd: >[127.0.0.1:39044]: list_OK
> bpd: >[127.0.0.1:39044]: list_OK
> bpd: >[127.0.0.1:39044]: file: Artist Name/Album Title/01 Track One Title.mp3
> bpd: >[127.0.0.1:39044]: Time: 0
> bpd: >[127.0.0.1:39044]: Title: Track One Title
> bpd: >[127.0.0.1:39044]: Artist: Artist Name
> bpd: >[127.0.0.1:39044]: Album: Album Title
> bpd: >[127.0.0.1:39044]: Genre: 
> bpd: >[127.0.0.1:39044]: Track: 1
> bpd: >[127.0.0.1:39044]: Date: 0
> bpd: >[127.0.0.1:39044]: Pos: 0
> bpd: >[127.0.0.1:39044]: Id: 1
> bpd: >[127.0.0.1:39044]: file: Artist Name/Album Title/02 Track Two Title.mp3
> bpd: >[127.0.0.1:39044]: Time: 0
> bpd: >[127.0.0.1:39044]: Title: Track Two Title
> bpd: >[127.0.0.1:39044]: Artist: Artist Name
> bpd: >[127.0.0.1:39044]: Album: Album Title
> bpd: >[127.0.0.1:39044]: Genre: 
> bpd: >[127.0.0.1:39044]: Track: 2
> bpd: >[127.0.0.1:39044]: Date: 0
> bpd: >[127.0.0.1:39044]: Pos: 1
> bpd: >[127.0.0.1:39044]: Id: 2
> bpd: >[127.0.0.1:39044]: list_OK
> bpd: >[127.0.0.1:39044]: list_OK
> bpd: >[127.0.0.1:39044]: list_OK
> bpd: >[127.0.0.1:39044]: file: Artist Name/Album Title/02 Track Two Title.mp3
> bpd: >[127.0.0.1:39044]: Time: 0
> bpd: >[127.0.0.1:39044]: Title: Track Two Title
> bpd: >[127.0.0.1:39044]: Artist: Artist Name
> bpd: >[127.0.0.1:39044]: Album: Album Title
> bpd: >[127.0.0.1:39044]: Genre: 
> bpd: >[127.0.0.1:39044]: Track: 2
> bpd: >[127.0.0.1:39044]: Date: 0
> bpd: >[127.0.0.1:39044]: Pos: 0
> bpd: >[127.0.0.1:39044]: Id: 2
> bpd: >[127.0.0.1:39044]: list_OK
> bpd: >[127.0.0.1:39044]: repeat: 0
> bpd: >[127.0.0.1:39044]: random: 0
> bpd: >[127.0.0.1:39044]: consume: 1
> bpd: >[127.0.0.1:39044]: single: 0
> bpd: >[127.0.0.1:39044]: playlist: 2
> bpd: >[127.0.0.1:39044]: playlistlength: 1
> bpd: >[127.0.0.1:39044]: mixrampdb: 0.0
> bpd: >[127.0.0.1:39044]: volume: 100
> bpd: >[127.0.0.1:39044]: state: play
> bpd: >[127.0.0.1:39044]: song: 0
> bpd: >[127.0.0.1:39044]: songid: 2
> bpd: >[127.0.0.1:39044]: bitrate: 0.0
> bpd: >[127.0.0.1:39044]: audio: 0:0:0
> bpd: >[127.0.0.1:39044]: time: 0:0
> bpd: >[127.0.0.1:39044]: elapsed: 0.000
> bpd: >[127.0.0.1:39044]: duration: 0.000
> bpd: >[127.0.0.1:39044]: list_OK
> bpd: >[127.0.0.1:39044]: OK
> ok
> test_cmd_consume_in_reverse (test_player.BPDPlaybackTest) ... overlaying configuration: /tmp/tmpx20tlom9/tmpm1xkrouw.yaml
> no user configuration found at /tmp/tmpx20tlom9/config.yaml
> data directory: /tmp/tmpx20tlom9
> plugin paths: /tmp/tmpx20tlom9
> Sending event: pluginload
> library database: /tmp/tmpx20tlom9/library.db
> library directory: /tmp/tmpx20tlom9/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:14249
> bpd: *[127.0.0.1:57180]: connected
> bpd: >[127.0.0.1:57180]: OK MPD 0.14.0
> bpd: <[127.0.0.1:57180]: command_list_ok_begin
> bpd: <[127.0.0.1:57180]: add "Artist Name/Album Title/01 Track One Title.mp3"
> bpd: <[127.0.0.1:57180]: add "Artist Name/Album Title/02 Track Two Title.mp3"
> bpd: <[127.0.0.1:57180]: command_list_end
> bpd: >[127.0.0.1:57180]: list_OK
> bpd: >[127.0.0.1:57180]: list_OK
> bpd: >[127.0.0.1:57180]: OK
> bpd: <[127.0.0.1:57180]: command_list_ok_begin
> bpd: <[127.0.0.1:57180]: consume 1
> bpd: <[127.0.0.1:57180]: play 1
> bpd: <[127.0.0.1:57180]: playlistinfo
> bpd: <[127.0.0.1:57180]: previous
> bpd: <[127.0.0.1:57180]: playlistinfo
> bpd: <[127.0.0.1:57180]: status
> bpd: <[127.0.0.1:57180]: command_list_end
> bpd: >[127.0.0.1:57180]: list_OK
> bpd: >[127.0.0.1:57180]: list_OK
> bpd: >[127.0.0.1:57180]: file: Artist Name/Album Title/01 Track One Title.mp3
> bpd: >[127.0.0.1:57180]: Time: 0
> bpd: >[127.0.0.1:57180]: Title: Track One Title
> bpd: >[127.0.0.1:57180]: Artist: Artist Name
> bpd: >[127.0.0.1:57180]: Album: Album Title
> bpd: >[127.0.0.1:57180]: Genre: 
> bpd: >[127.0.0.1:57180]: Track: 1
> bpd: >[127.0.0.1:57180]: Date: 0
> bpd: >[127.0.0.1:57180]: Pos: 0
> bpd: >[127.0.0.1:57180]: Id: 1
> bpd: >[127.0.0.1:57180]: file: Artist Name/Album Title/02 Track Two Title.mp3
> bpd: >[127.0.0.1:57180]: Time: 0
> bpd: >[127.0.0.1:57180]: Title: Track Two Title
> bpd: >[127.0.0.1:57180]: Artist: Artist Name
> bpd: >[127.0.0.1:57180]: Album: Album Title
> bpd: >[127.0.0.1:57180]: Genre: 
> bpd: >[127.0.0.1:57180]: Track: 2
> bpd: >[127.0.0.1:57180]: Date: 0
> bpd: >[127.0.0.1:57180]: Pos: 1
> bpd: >[127.0.0.1:57180]: Id: 2
> bpd: >[127.0.0.1:57180]: list_OK
> bpd: >[127.0.0.1:57180]: list_OK
> bpd: >[127.0.0.1:57180]: file: Artist Name/Album Title/01 Track One Title.mp3
> bpd: >[127.0.0.1:57180]: Time: 0
> bpd: >[127.0.0.1:57180]: Title: Track One Title
> bpd: >[127.0.0.1:57180]: Artist: Artist Name
> bpd: >[127.0.0.1:57180]: Album: Album Title
> bpd: >[127.0.0.1:57180]: Genre: 
> bpd: >[127.0.0.1:57180]: Track: 1
> bpd: >[127.0.0.1:57180]: Date: 0
> bpd: >[127.0.0.1:57180]: Pos: 0
> bpd: >[127.0.0.1:57180]: Id: 1
> bpd: >[127.0.0.1:57180]: list_OK
> bpd: >[127.0.0.1:57180]: repeat: 0
> bpd: >[127.0.0.1:57180]: random: 0
> bpd: >[127.0.0.1:57180]: consume: 1
> bpd: >[127.0.0.1:57180]: single: 0
> bpd: >[127.0.0.1:57180]: playlist: 2
> bpd: >[127.0.0.1:57180]: playlistlength: 1
> bpd: >[127.0.0.1:57180]: mixrampdb: 0.0
> bpd: >[127.0.0.1:57180]: volume: 100
> bpd: >[127.0.0.1:57180]: state: play
> bpd: >[127.0.0.1:57180]: song: 0
> bpd: >[127.0.0.1:57180]: songid: 1
> bpd: >[127.0.0.1:57180]: bitrate: 0.0
> bpd: >[127.0.0.1:57180]: audio: 0:0:0
> bpd: >[127.0.0.1:57180]: time: 0:0
> bpd: >[127.0.0.1:57180]: elapsed: 0.000
> bpd: >[127.0.0.1:57180]: duration: 0.000
> bpd: >[127.0.0.1:57180]: list_OK
> bpd: >[127.0.0.1:57180]: OK
> ok
> test_cmd_crossfade (test_player.BPDPlaybackTest) ... overlaying configuration: /tmp/tmpphls7ve8/tmpzc7hngt3.yaml
> no user configuration found at /tmp/tmpphls7ve8/config.yaml
> data directory: /tmp/tmpphls7ve8
> plugin paths: /tmp/tmpphls7ve8
> Sending event: pluginload
> library database: /tmp/tmpphls7ve8/library.db
> library directory: /tmp/tmpphls7ve8/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:13385
> bpd: *[127.0.0.1:58550]: connected
> bpd: >[127.0.0.1:58550]: OK MPD 0.14.0
> bpd: <[127.0.0.1:58550]: command_list_ok_begin
> bpd: <[127.0.0.1:58550]: status
> bpd: <[127.0.0.1:58550]: crossfade 123
> bpd: <[127.0.0.1:58550]: status
> bpd: <[127.0.0.1:58550]: crossfade -2
> bpd: <[127.0.0.1:58550]: command_list_end
> bpd: >[127.0.0.1:58550]: repeat: 0
> bpd: >[127.0.0.1:58550]: random: 0
> bpd: >[127.0.0.1:58550]: consume: 0
> bpd: >[127.0.0.1:58550]: single: 0
> bpd: >[127.0.0.1:58550]: playlist: 0
> bpd: >[127.0.0.1:58550]: playlistlength: 0
> bpd: >[127.0.0.1:58550]: mixrampdb: 0.0
> bpd: >[127.0.0.1:58550]: volume: 100
> bpd: >[127.0.0.1:58550]: state: stop
> bpd: >[127.0.0.1:58550]: list_OK
> bpd: crossfade is not implemented in bpd
> bpd: >[127.0.0.1:58550]: list_OK
> bpd: >[127.0.0.1:58550]: repeat: 0
> bpd: >[127.0.0.1:58550]: random: 0
> bpd: >[127.0.0.1:58550]: consume: 0
> bpd: >[127.0.0.1:58550]: single: 0
> bpd: >[127.0.0.1:58550]: playlist: 0
> bpd: >[127.0.0.1:58550]: playlistlength: 0
> bpd: >[127.0.0.1:58550]: mixrampdb: 0.0
> bpd: >[127.0.0.1:58550]: volume: 100
> bpd: >[127.0.0.1:58550]: xfade: 123
> bpd: >[127.0.0.1:58550]: state: stop
> bpd: >[127.0.0.1:58550]: list_OK
> bpd: >[127.0.0.1:58550]: ACK [2 at 3] {crossfade} crossfade time must be nonnegative
> bpd: <[127.0.0.1:58550]: crossfade 0.5
> bpd: >[127.0.0.1:58550]: ACK [2 at 0] {crossfade} invalid type for argument
> ok
> test_cmd_mixrampdb (test_player.BPDPlaybackTest) ... overlaying configuration: /tmp/tmpeecgt0u6/tmpziaczfku.yaml
> no user configuration found at /tmp/tmpeecgt0u6/config.yaml
> data directory: /tmp/tmpeecgt0u6
> plugin paths: /tmp/tmpeecgt0u6
> Sending event: pluginload
> library database: /tmp/tmpeecgt0u6/library.db
> library directory: /tmp/tmpeecgt0u6/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:13088
> bpd: *[127.0.0.1:53038]: connected
> bpd: >[127.0.0.1:53038]: OK MPD 0.14.0
> bpd: <[127.0.0.1:53038]: command_list_ok_begin
> bpd: <[127.0.0.1:53038]: mixrampdb -17
> bpd: <[127.0.0.1:53038]: status
> bpd: <[127.0.0.1:53038]: command_list_end
> bpd: mixramp is not implemented in bpd
> bpd: >[127.0.0.1:53038]: list_OK
> bpd: >[127.0.0.1:53038]: repeat: 0
> bpd: >[127.0.0.1:53038]: random: 0
> bpd: >[127.0.0.1:53038]: consume: 0
> bpd: >[127.0.0.1:53038]: single: 0
> bpd: >[127.0.0.1:53038]: playlist: 0
> bpd: >[127.0.0.1:53038]: playlistlength: 0
> bpd: >[127.0.0.1:53038]: mixrampdb: -17.0
> bpd: >[127.0.0.1:53038]: volume: 100
> bpd: >[127.0.0.1:53038]: state: stop
> bpd: >[127.0.0.1:53038]: list_OK
> bpd: >[127.0.0.1:53038]: OK
> ok
> test_cmd_mixrampdelay (test_player.BPDPlaybackTest) ... overlaying configuration: /tmp/tmptl9e4vpt/tmp4fobamdl.yaml
> no user configuration found at /tmp/tmptl9e4vpt/config.yaml
> data directory: /tmp/tmptl9e4vpt
> plugin paths: /tmp/tmptl9e4vpt
> Sending event: pluginload
> library database: /tmp/tmptl9e4vpt/library.db
> library directory: /tmp/tmptl9e4vpt/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:15427
> bpd: *[127.0.0.1:33034]: connected
> bpd: >[127.0.0.1:33034]: OK MPD 0.14.0
> bpd: <[127.0.0.1:33034]: command_list_ok_begin
> bpd: <[127.0.0.1:33034]: mixrampdelay 2
> bpd: <[127.0.0.1:33034]: status
> bpd: <[127.0.0.1:33034]: mixrampdelay nan
> bpd: <[127.0.0.1:33034]: status
> bpd: <[127.0.0.1:33034]: mixrampdelay -2
> bpd: <[127.0.0.1:33034]: command_list_end
> bpd: mixramp is not implemented in bpd
> bpd: >[127.0.0.1:33034]: list_OK
> bpd: >[127.0.0.1:33034]: repeat: 0
> bpd: >[127.0.0.1:33034]: random: 0
> bpd: >[127.0.0.1:33034]: consume: 0
> bpd: >[127.0.0.1:33034]: single: 0
> bpd: >[127.0.0.1:33034]: playlist: 0
> bpd: >[127.0.0.1:33034]: playlistlength: 0
> bpd: >[127.0.0.1:33034]: mixrampdb: 0.0
> bpd: >[127.0.0.1:33034]: volume: 100
> bpd: >[127.0.0.1:33034]: mixrampdelay: 2.0
> bpd: >[127.0.0.1:33034]: state: stop
> bpd: >[127.0.0.1:33034]: list_OK
> bpd: mixramp is not implemented in bpd
> bpd: >[127.0.0.1:33034]: list_OK
> bpd: >[127.0.0.1:33034]: repeat: 0
> bpd: >[127.0.0.1:33034]: random: 0
> bpd: >[127.0.0.1:33034]: consume: 0
> bpd: >[127.0.0.1:33034]: single: 0
> bpd: >[127.0.0.1:33034]: playlist: 0
> bpd: >[127.0.0.1:33034]: playlistlength: 0
> bpd: >[127.0.0.1:33034]: mixrampdb: 0.0
> bpd: >[127.0.0.1:33034]: volume: 100
> bpd: >[127.0.0.1:33034]: state: stop
> bpd: >[127.0.0.1:33034]: list_OK
> bpd: >[127.0.0.1:33034]: ACK [2 at 4] {mixrampdelay} mixrampdelay time must be nonnegative
> ok
> test_cmd_repeat (test_player.BPDPlaybackTest) ... overlaying configuration: /tmp/tmpmwlji3vo/tmpwgr3mrao.yaml
> no user configuration found at /tmp/tmpmwlji3vo/config.yaml
> data directory: /tmp/tmpmwlji3vo
> plugin paths: /tmp/tmpmwlji3vo
> Sending event: pluginload
> library database: /tmp/tmpmwlji3vo/library.db
> library directory: /tmp/tmpmwlji3vo/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:12994
> bpd: *[127.0.0.1:40010]: connected
> bpd: >[127.0.0.1:40010]: OK MPD 0.14.0
> bpd: <[127.0.0.1:40010]: command_list_ok_begin
> bpd: <[127.0.0.1:40010]: add "Artist Name/Album Title/01 Track One Title.mp3"
> bpd: <[127.0.0.1:40010]: add "Artist Name/Album Title/02 Track Two Title.mp3"
> bpd: <[127.0.0.1:40010]: command_list_end
> bpd: >[127.0.0.1:40010]: list_OK
> bpd: >[127.0.0.1:40010]: list_OK
> bpd: >[127.0.0.1:40010]: OK
> bpd: <[127.0.0.1:40010]: command_list_ok_begin
> bpd: <[127.0.0.1:40010]: repeat 1
> bpd: <[127.0.0.1:40010]: play
> bpd: <[127.0.0.1:40010]: currentsong
> bpd: <[127.0.0.1:40010]: next
> bpd: <[127.0.0.1:40010]: currentsong
> bpd: <[127.0.0.1:40010]: next
> bpd: <[127.0.0.1:40010]: currentsong
> bpd: <[127.0.0.1:40010]: command_list_end
> bpd: >[127.0.0.1:40010]: list_OK
> bpd: >[127.0.0.1:40010]: list_OK
> bpd: >[127.0.0.1:40010]: file: Artist Name/Album Title/01 Track One Title.mp3
> bpd: >[127.0.0.1:40010]: Time: 0
> bpd: >[127.0.0.1:40010]: Title: Track One Title
> bpd: >[127.0.0.1:40010]: Artist: Artist Name
> bpd: >[127.0.0.1:40010]: Album: Album Title
> bpd: >[127.0.0.1:40010]: Genre: 
> bpd: >[127.0.0.1:40010]: Track: 1
> bpd: >[127.0.0.1:40010]: Date: 0
> bpd: >[127.0.0.1:40010]: Pos: 0
> bpd: >[127.0.0.1:40010]: Id: 1
> bpd: >[127.0.0.1:40010]: list_OK
> bpd: >[127.0.0.1:40010]: list_OK
> bpd: >[127.0.0.1:40010]: file: Artist Name/Album Title/02 Track Two Title.mp3
> bpd: >[127.0.0.1:40010]: Time: 0
> bpd: >[127.0.0.1:40010]: Title: Track Two Title
> bpd: >[127.0.0.1:40010]: Artist: Artist Name
> bpd: >[127.0.0.1:40010]: Album: Album Title
> bpd: >[127.0.0.1:40010]: Genre: 
> bpd: >[127.0.0.1:40010]: Track: 2
> bpd: >[127.0.0.1:40010]: Date: 0
> bpd: >[127.0.0.1:40010]: Pos: 1
> bpd: >[127.0.0.1:40010]: Id: 2
> bpd: >[127.0.0.1:40010]: list_OK
> bpd: >[127.0.0.1:40010]: list_OK
> bpd: >[127.0.0.1:40010]: file: Artist Name/Album Title/01 Track One Title.mp3
> bpd: >[127.0.0.1:40010]: Time: 0
> bpd: >[127.0.0.1:40010]: Title: Track One Title
> bpd: >[127.0.0.1:40010]: Artist: Artist Name
> bpd: >[127.0.0.1:40010]: Album: Album Title
> bpd: >[127.0.0.1:40010]: Genre: 
> bpd: >[127.0.0.1:40010]: Track: 1
> bpd: >[127.0.0.1:40010]: Date: 0
> bpd: >[127.0.0.1:40010]: Pos: 0
> bpd: >[127.0.0.1:40010]: Id: 1
> bpd: >[127.0.0.1:40010]: list_OK
> bpd: >[127.0.0.1:40010]: OK
> ok
> test_cmd_repeat_in_reverse (test_player.BPDPlaybackTest) ... overlaying configuration: /tmp/tmpx6h_yd9j/tmp_sar7zy9.yaml
> no user configuration found at /tmp/tmpx6h_yd9j/config.yaml
> data directory: /tmp/tmpx6h_yd9j
> plugin paths: /tmp/tmpx6h_yd9j
> Sending event: pluginload
> library database: /tmp/tmpx6h_yd9j/library.db
> library directory: /tmp/tmpx6h_yd9j/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:19858
> bpd: *[127.0.0.1:42052]: connected
> bpd: >[127.0.0.1:42052]: OK MPD 0.14.0
> bpd: <[127.0.0.1:42052]: command_list_ok_begin
> bpd: <[127.0.0.1:42052]: add "Artist Name/Album Title/01 Track One Title.mp3"
> bpd: <[127.0.0.1:42052]: add "Artist Name/Album Title/02 Track Two Title.mp3"
> bpd: <[127.0.0.1:42052]: command_list_end
> bpd: >[127.0.0.1:42052]: list_OK
> bpd: >[127.0.0.1:42052]: list_OK
> bpd: >[127.0.0.1:42052]: OK
> bpd: <[127.0.0.1:42052]: command_list_ok_begin
> bpd: <[127.0.0.1:42052]: repeat 1
> bpd: <[127.0.0.1:42052]: play
> bpd: <[127.0.0.1:42052]: currentsong
> bpd: <[127.0.0.1:42052]: previous
> bpd: <[127.0.0.1:42052]: currentsong
> bpd: <[127.0.0.1:42052]: command_list_end
> bpd: >[127.0.0.1:42052]: list_OK
> bpd: >[127.0.0.1:42052]: list_OK
> bpd: >[127.0.0.1:42052]: file: Artist Name/Album Title/01 Track One Title.mp3
> bpd: >[127.0.0.1:42052]: Time: 0
> bpd: >[127.0.0.1:42052]: Title: Track One Title
> bpd: >[127.0.0.1:42052]: Artist: Artist Name
> bpd: >[127.0.0.1:42052]: Album: Album Title
> bpd: >[127.0.0.1:42052]: Genre: 
> bpd: >[127.0.0.1:42052]: Track: 1
> bpd: >[127.0.0.1:42052]: Date: 0
> bpd: >[127.0.0.1:42052]: Pos: 0
> bpd: >[127.0.0.1:42052]: Id: 1
> bpd: >[127.0.0.1:42052]: list_OK
> bpd: >[127.0.0.1:42052]: list_OK
> bpd: >[127.0.0.1:42052]: file: Artist Name/Album Title/02 Track Two Title.mp3
> bpd: >[127.0.0.1:42052]: Time: 0
> bpd: >[127.0.0.1:42052]: Title: Track Two Title
> bpd: >[127.0.0.1:42052]: Artist: Artist Name
> bpd: >[127.0.0.1:42052]: Album: Album Title
> bpd: >[127.0.0.1:42052]: Genre: 
> bpd: >[127.0.0.1:42052]: Track: 2
> bpd: >[127.0.0.1:42052]: Date: 0
> bpd: >[127.0.0.1:42052]: Pos: 1
> bpd: >[127.0.0.1:42052]: Id: 2
> bpd: >[127.0.0.1:42052]: list_OK
> bpd: >[127.0.0.1:42052]: OK
> ok
> test_cmd_repeat_with_single (test_player.BPDPlaybackTest) ... overlaying configuration: /tmp/tmptjqppixw/tmp7ulrujqe.yaml
> no user configuration found at /tmp/tmptjqppixw/config.yaml
> data directory: /tmp/tmptjqppixw
> plugin paths: /tmp/tmptjqppixw
> Sending event: pluginload
> library database: /tmp/tmptjqppixw/library.db
> library directory: /tmp/tmptjqppixw/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:17608
> bpd: *[127.0.0.1:38702]: connected
> bpd: >[127.0.0.1:38702]: OK MPD 0.14.0
> bpd: <[127.0.0.1:38702]: command_list_ok_begin
> bpd: <[127.0.0.1:38702]: add "Artist Name/Album Title/01 Track One Title.mp3"
> bpd: <[127.0.0.1:38702]: add "Artist Name/Album Title/02 Track Two Title.mp3"
> bpd: <[127.0.0.1:38702]: command_list_end
> bpd: >[127.0.0.1:38702]: list_OK
> bpd: >[127.0.0.1:38702]: list_OK
> bpd: >[127.0.0.1:38702]: OK
> bpd: <[127.0.0.1:38702]: command_list_ok_begin
> bpd: <[127.0.0.1:38702]: repeat 1
> bpd: <[127.0.0.1:38702]: single 1
> bpd: <[127.0.0.1:38702]: play
> bpd: <[127.0.0.1:38702]: currentsong
> bpd: <[127.0.0.1:38702]: next
> bpd: <[127.0.0.1:38702]: status
> bpd: <[127.0.0.1:38702]: currentsong
> bpd: <[127.0.0.1:38702]: command_list_end
> bpd: >[127.0.0.1:38702]: list_OK
> bpd: >[127.0.0.1:38702]: list_OK
> bpd: >[127.0.0.1:38702]: list_OK
> bpd: >[127.0.0.1:38702]: file: Artist Name/Album Title/01 Track One Title.mp3
> bpd: >[127.0.0.1:38702]: Time: 0
> bpd: >[127.0.0.1:38702]: Title: Track One Title
> bpd: >[127.0.0.1:38702]: Artist: Artist Name
> bpd: >[127.0.0.1:38702]: Album: Album Title
> bpd: >[127.0.0.1:38702]: Genre: 
> bpd: >[127.0.0.1:38702]: Track: 1
> bpd: >[127.0.0.1:38702]: Date: 0
> bpd: >[127.0.0.1:38702]: Pos: 0
> bpd: >[127.0.0.1:38702]: Id: 1
> bpd: >[127.0.0.1:38702]: list_OK
> bpd: >[127.0.0.1:38702]: list_OK
> bpd: >[127.0.0.1:38702]: repeat: 1
> bpd: >[127.0.0.1:38702]: random: 0
> bpd: >[127.0.0.1:38702]: consume: 0
> bpd: >[127.0.0.1:38702]: single: 1
> bpd: >[127.0.0.1:38702]: playlist: 2
> bpd: >[127.0.0.1:38702]: playlistlength: 2
> bpd: >[127.0.0.1:38702]: mixrampdb: 0.0
> bpd: >[127.0.0.1:38702]: volume: 100
> bpd: >[127.0.0.1:38702]: state: play
> bpd: >[127.0.0.1:38702]: song: 0
> bpd: >[127.0.0.1:38702]: songid: 1
> bpd: >[127.0.0.1:38702]: bitrate: 0.0
> bpd: >[127.0.0.1:38702]: audio: 0:0:0
> bpd: >[127.0.0.1:38702]: time: 0:0
> bpd: >[127.0.0.1:38702]: elapsed: 0.000
> bpd: >[127.0.0.1:38702]: duration: 0.000
> bpd: >[127.0.0.1:38702]: list_OK
> bpd: >[127.0.0.1:38702]: file: Artist Name/Album Title/01 Track One Title.mp3
> bpd: >[127.0.0.1:38702]: Time: 0
> bpd: >[127.0.0.1:38702]: Title: Track One Title
> bpd: >[127.0.0.1:38702]: Artist: Artist Name
> bpd: >[127.0.0.1:38702]: Album: Album Title
> bpd: >[127.0.0.1:38702]: Genre: 
> bpd: >[127.0.0.1:38702]: Track: 1
> bpd: >[127.0.0.1:38702]: Date: 0
> bpd: >[127.0.0.1:38702]: Pos: 0
> bpd: >[127.0.0.1:38702]: Id: 1
> bpd: >[127.0.0.1:38702]: list_OK
> bpd: >[127.0.0.1:38702]: OK
> ok
> test_cmd_repeat_with_single_in_reverse (test_player.BPDPlaybackTest) ... overlaying configuration: /tmp/tmpm1zk301a/tmp5c_60c2u.yaml
> no user configuration found at /tmp/tmpm1zk301a/config.yaml
> data directory: /tmp/tmpm1zk301a
> plugin paths: /tmp/tmpm1zk301a
> Sending event: pluginload
> library database: /tmp/tmpm1zk301a/library.db
> library directory: /tmp/tmpm1zk301a/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:17505
> bpd: *[127.0.0.1:42622]: connected
> bpd: >[127.0.0.1:42622]: OK MPD 0.14.0
> bpd: <[127.0.0.1:42622]: command_list_ok_begin
> bpd: <[127.0.0.1:42622]: add "Artist Name/Album Title/01 Track One Title.mp3"
> bpd: <[127.0.0.1:42622]: add "Artist Name/Album Title/02 Track Two Title.mp3"
> bpd: <[127.0.0.1:42622]: command_list_end
> bpd: >[127.0.0.1:42622]: list_OK
> bpd: >[127.0.0.1:42622]: list_OK
> bpd: >[127.0.0.1:42622]: OK
> bpd: <[127.0.0.1:42622]: command_list_ok_begin
> bpd: <[127.0.0.1:42622]: repeat 1
> bpd: <[127.0.0.1:42622]: single 1
> bpd: <[127.0.0.1:42622]: play
> bpd: <[127.0.0.1:42622]: currentsong
> bpd: <[127.0.0.1:42622]: previous
> bpd: <[127.0.0.1:42622]: status
> bpd: <[127.0.0.1:42622]: currentsong
> bpd: <[127.0.0.1:42622]: command_list_end
> bpd: >[127.0.0.1:42622]: list_OK
> bpd: >[127.0.0.1:42622]: list_OK
> bpd: >[127.0.0.1:42622]: list_OK
> bpd: >[127.0.0.1:42622]: file: Artist Name/Album Title/01 Track One Title.mp3
> bpd: >[127.0.0.1:42622]: Time: 0
> bpd: >[127.0.0.1:42622]: Title: Track One Title
> bpd: >[127.0.0.1:42622]: Artist: Artist Name
> bpd: >[127.0.0.1:42622]: Album: Album Title
> bpd: >[127.0.0.1:42622]: Genre: 
> bpd: >[127.0.0.1:42622]: Track: 1
> bpd: >[127.0.0.1:42622]: Date: 0
> bpd: >[127.0.0.1:42622]: Pos: 0
> bpd: >[127.0.0.1:42622]: Id: 1
> bpd: >[127.0.0.1:42622]: list_OK
> bpd: >[127.0.0.1:42622]: list_OK
> bpd: >[127.0.0.1:42622]: repeat: 1
> bpd: >[127.0.0.1:42622]: random: 0
> bpd: >[127.0.0.1:42622]: consume: 0
> bpd: >[127.0.0.1:42622]: single: 1
> bpd: >[127.0.0.1:42622]: playlist: 2
> bpd: >[127.0.0.1:42622]: playlistlength: 2
> bpd: >[127.0.0.1:42622]: mixrampdb: 0.0
> bpd: >[127.0.0.1:42622]: volume: 100
> bpd: >[127.0.0.1:42622]: state: play
> bpd: >[127.0.0.1:42622]: song: 0
> bpd: >[127.0.0.1:42622]: songid: 1
> bpd: >[127.0.0.1:42622]: bitrate: 0.0
> bpd: >[127.0.0.1:42622]: audio: 0:0:0
> bpd: >[127.0.0.1:42622]: time: 0:0
> bpd: >[127.0.0.1:42622]: elapsed: 0.000
> bpd: >[127.0.0.1:42622]: duration: 0.000
> bpd: >[127.0.0.1:42622]: list_OK
> bpd: >[127.0.0.1:42622]: file: Artist Name/Album Title/01 Track One Title.mp3
> bpd: >[127.0.0.1:42622]: Time: 0
> bpd: >[127.0.0.1:42622]: Title: Track One Title
> bpd: >[127.0.0.1:42622]: Artist: Artist Name
> bpd: >[127.0.0.1:42622]: Album: Album Title
> bpd: >[127.0.0.1:42622]: Genre: 
> bpd: >[127.0.0.1:42622]: Track: 1
> bpd: >[127.0.0.1:42622]: Date: 0
> bpd: >[127.0.0.1:42622]: Pos: 0
> bpd: >[127.0.0.1:42622]: Id: 1
> bpd: >[127.0.0.1:42622]: list_OK
> bpd: >[127.0.0.1:42622]: OK
> ok
> test_cmd_replay_gain (test_player.BPDPlaybackTest) ... overlaying configuration: /tmp/tmpug83hy9o/tmpwwt5l6_4.yaml
> no user configuration found at /tmp/tmpug83hy9o/config.yaml
> data directory: /tmp/tmpug83hy9o
> plugin paths: /tmp/tmpug83hy9o
> Sending event: pluginload
> library database: /tmp/tmpug83hy9o/library.db
> library directory: /tmp/tmpug83hy9o/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:11065
> bpd: *[127.0.0.1:55898]: connected
> bpd: >[127.0.0.1:55898]: OK MPD 0.14.0
> bpd: <[127.0.0.1:55898]: command_list_ok_begin
> bpd: <[127.0.0.1:55898]: replay_gain_mode track
> bpd: <[127.0.0.1:55898]: replay_gain_status
> bpd: <[127.0.0.1:55898]: replay_gain_mode notanoption
> bpd: <[127.0.0.1:55898]: command_list_end
> bpd: replay gain is not implemented in bpd
> bpd: >[127.0.0.1:55898]: list_OK
> bpd: >[127.0.0.1:55898]: replay_gain_mode: track
> bpd: >[127.0.0.1:55898]: list_OK
> bpd: >[127.0.0.1:55898]: ACK [2 at 2] {replay_gain_mode} Unrecognised replay gain mode
> ok
> test_cmd_setvol (test_player.BPDPlaybackTest) ... overlaying configuration: /tmp/tmpxpfmu0mx/tmpohuzj233.yaml
> no user configuration found at /tmp/tmpxpfmu0mx/config.yaml
> data directory: /tmp/tmpxpfmu0mx
> plugin paths: /tmp/tmpxpfmu0mx
> Sending event: pluginload
> library database: /tmp/tmpxpfmu0mx/library.db
> library directory: /tmp/tmpxpfmu0mx/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:19572
> bpd: *[127.0.0.1:55302]: connected
> bpd: >[127.0.0.1:55302]: OK MPD 0.14.0
> bpd: <[127.0.0.1:55302]: command_list_ok_begin
> bpd: <[127.0.0.1:55302]: setvol 67
> bpd: <[127.0.0.1:55302]: status
> bpd: <[127.0.0.1:55302]: setvol 32
> bpd: <[127.0.0.1:55302]: status
> bpd: <[127.0.0.1:55302]: setvol 101
> bpd: <[127.0.0.1:55302]: command_list_end
> bpd: >[127.0.0.1:55302]: list_OK
> bpd: >[127.0.0.1:55302]: repeat: 0
> bpd: >[127.0.0.1:55302]: random: 0
> bpd: >[127.0.0.1:55302]: consume: 0
> bpd: >[127.0.0.1:55302]: single: 0
> bpd: >[127.0.0.1:55302]: playlist: 0
> bpd: >[127.0.0.1:55302]: playlistlength: 0
> bpd: >[127.0.0.1:55302]: mixrampdb: 0.0
> bpd: >[127.0.0.1:55302]: volume: 67
> bpd: >[127.0.0.1:55302]: state: stop
> bpd: >[127.0.0.1:55302]: list_OK
> bpd: >[127.0.0.1:55302]: list_OK
> bpd: >[127.0.0.1:55302]: repeat: 0
> bpd: >[127.0.0.1:55302]: random: 0
> bpd: >[127.0.0.1:55302]: consume: 0
> bpd: >[127.0.0.1:55302]: single: 0
> bpd: >[127.0.0.1:55302]: playlist: 0
> bpd: >[127.0.0.1:55302]: playlistlength: 0
> bpd: >[127.0.0.1:55302]: mixrampdb: 0.0
> bpd: >[127.0.0.1:55302]: volume: 32
> bpd: >[127.0.0.1:55302]: state: stop
> bpd: >[127.0.0.1:55302]: list_OK
> bpd: >[127.0.0.1:55302]: ACK [2 at 4] {setvol} volume out of range
> ok
> test_cmd_single (test_player.BPDPlaybackTest) ... overlaying configuration: /tmp/tmppit54mc_/tmpfymtur43.yaml
> no user configuration found at /tmp/tmppit54mc_/config.yaml
> data directory: /tmp/tmppit54mc_
> plugin paths: /tmp/tmppit54mc_
> Sending event: pluginload
> library database: /tmp/tmppit54mc_/library.db
> library directory: /tmp/tmppit54mc_/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:15849
> bpd: *[127.0.0.1:42064]: connected
> bpd: >[127.0.0.1:42064]: OK MPD 0.14.0
> bpd: <[127.0.0.1:42064]: command_list_ok_begin
> bpd: <[127.0.0.1:42064]: add "Artist Name/Album Title/01 Track One Title.mp3"
> bpd: <[127.0.0.1:42064]: add "Artist Name/Album Title/02 Track Two Title.mp3"
> bpd: <[127.0.0.1:42064]: command_list_end
> bpd: >[127.0.0.1:42064]: list_OK
> bpd: >[127.0.0.1:42064]: list_OK
> bpd: >[127.0.0.1:42064]: OK
> bpd: <[127.0.0.1:42064]: command_list_ok_begin
> bpd: <[127.0.0.1:42064]: status
> bpd: <[127.0.0.1:42064]: single 1
> bpd: <[127.0.0.1:42064]: play
> bpd: <[127.0.0.1:42064]: status
> bpd: <[127.0.0.1:42064]: next
> bpd: <[127.0.0.1:42064]: status
> bpd: <[127.0.0.1:42064]: command_list_end
> bpd: >[127.0.0.1:42064]: repeat: 0
> bpd: >[127.0.0.1:42064]: random: 0
> bpd: >[127.0.0.1:42064]: consume: 0
> bpd: >[127.0.0.1:42064]: single: 0
> bpd: >[127.0.0.1:42064]: playlist: 2
> bpd: >[127.0.0.1:42064]: playlistlength: 2
> bpd: >[127.0.0.1:42064]: mixrampdb: 0.0
> bpd: >[127.0.0.1:42064]: volume: 100
> bpd: >[127.0.0.1:42064]: state: stop
> bpd: >[127.0.0.1:42064]: list_OK
> bpd: >[127.0.0.1:42064]: list_OK
> bpd: >[127.0.0.1:42064]: list_OK
> bpd: >[127.0.0.1:42064]: repeat: 0
> bpd: >[127.0.0.1:42064]: random: 0
> bpd: >[127.0.0.1:42064]: consume: 0
> bpd: >[127.0.0.1:42064]: single: 1
> bpd: >[127.0.0.1:42064]: playlist: 2
> bpd: >[127.0.0.1:42064]: playlistlength: 2
> bpd: >[127.0.0.1:42064]: mixrampdb: 0.0
> bpd: >[127.0.0.1:42064]: volume: 100
> bpd: >[127.0.0.1:42064]: state: play
> bpd: >[127.0.0.1:42064]: song: 0
> bpd: >[127.0.0.1:42064]: songid: 1
> bpd: >[127.0.0.1:42064]: bitrate: 0.0
> bpd: >[127.0.0.1:42064]: audio: 0:0:0
> bpd: >[127.0.0.1:42064]: time: 0:0
> bpd: >[127.0.0.1:42064]: elapsed: 0.000
> bpd: >[127.0.0.1:42064]: duration: 0.000
> bpd: >[127.0.0.1:42064]: list_OK
> bpd: >[127.0.0.1:42064]: list_OK
> bpd: >[127.0.0.1:42064]: repeat: 0
> bpd: >[127.0.0.1:42064]: random: 0
> bpd: >[127.0.0.1:42064]: consume: 0
> bpd: >[127.0.0.1:42064]: single: 1
> bpd: >[127.0.0.1:42064]: playlist: 2
> bpd: >[127.0.0.1:42064]: playlistlength: 2
> bpd: >[127.0.0.1:42064]: mixrampdb: 0.0
> bpd: >[127.0.0.1:42064]: volume: 100
> bpd: >[127.0.0.1:42064]: state: stop
> bpd: >[127.0.0.1:42064]: list_OK
> bpd: >[127.0.0.1:42064]: OK
> ok
> test_cmd_volume (test_player.BPDPlaybackTest) ... overlaying configuration: /tmp/tmpx52rmpj7/tmpxib9df1f.yaml
> no user configuration found at /tmp/tmpx52rmpj7/config.yaml
> data directory: /tmp/tmpx52rmpj7
> plugin paths: /tmp/tmpx52rmpj7
> Sending event: pluginload
> library database: /tmp/tmpx52rmpj7/library.db
> library directory: /tmp/tmpx52rmpj7/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:18719
> bpd: *[127.0.0.1:49528]: connected
> bpd: >[127.0.0.1:49528]: OK MPD 0.14.0
> bpd: <[127.0.0.1:49528]: volume 10
> bpd: >[127.0.0.1:49528]: ACK [52 at 0] {volume} No mixer
> ok
> test_implements_playback (test_player.BPDPlaybackTest) ... overlaying configuration: /tmp/tmpj8qodv3b/tmpvlatkiea.yaml
> no user configuration found at /tmp/tmpj8qodv3b/config.yaml
> data directory: /tmp/tmpj8qodv3b
> plugin paths: /tmp/tmpj8qodv3b
> Sending event: pluginload
> library database: /tmp/tmpj8qodv3b/library.db
> library directory: /tmp/tmpj8qodv3b/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:17691
> bpd: *[127.0.0.1:49014]: connected
> bpd: >[127.0.0.1:49014]: OK MPD 0.14.0
> bpd: <[127.0.0.1:49014]: commands
> bpd: >[127.0.0.1:49014]: command: add
> bpd: >[127.0.0.1:49014]: command: addid
> bpd: >[127.0.0.1:49014]: command: clear
> bpd: >[127.0.0.1:49014]: command: clearerror
> bpd: >[127.0.0.1:49014]: command: close
> bpd: >[127.0.0.1:49014]: command: commands
> bpd: >[127.0.0.1:49014]: command: consume
> bpd: >[127.0.0.1:49014]: command: count
> bpd: >[127.0.0.1:49014]: command: crash_TypeError
> bpd: >[127.0.0.1:49014]: command: crossfade
> bpd: >[127.0.0.1:49014]: command: currentsong
> bpd: >[127.0.0.1:49014]: command: decoders
> bpd: >[127.0.0.1:49014]: command: delete
> bpd: >[127.0.0.1:49014]: command: deleteid
> bpd: >[127.0.0.1:49014]: command: disableoutput
> bpd: >[127.0.0.1:49014]: command: enableoutput
> bpd: >[127.0.0.1:49014]: command: find
> bpd: >[127.0.0.1:49014]: command: idle
> bpd: >[127.0.0.1:49014]: command: kill
> bpd: >[127.0.0.1:49014]: command: list
> bpd: >[127.0.0.1:49014]: command: listall
> bpd: >[127.0.0.1:49014]: command: listallinfo
> bpd: >[127.0.0.1:49014]: command: listplaylist
> bpd: >[127.0.0.1:49014]: command: listplaylistinfo
> bpd: >[127.0.0.1:49014]: command: listplaylists
> bpd: >[127.0.0.1:49014]: command: load
> bpd: >[127.0.0.1:49014]: command: lsinfo
> bpd: >[127.0.0.1:49014]: command: mixrampdb
> bpd: >[127.0.0.1:49014]: command: mixrampdelay
> bpd: >[127.0.0.1:49014]: command: move
> bpd: >[127.0.0.1:49014]: command: moveid
> bpd: >[127.0.0.1:49014]: command: next
> bpd: >[127.0.0.1:49014]: command: notcommands
> bpd: >[127.0.0.1:49014]: command: outputs
> bpd: >[127.0.0.1:49014]: command: password
> bpd: >[127.0.0.1:49014]: command: pause
> bpd: >[127.0.0.1:49014]: command: ping
> bpd: >[127.0.0.1:49014]: command: play
> bpd: >[127.0.0.1:49014]: command: playid
> bpd: >[127.0.0.1:49014]: command: playlistadd
> bpd: >[127.0.0.1:49014]: command: playlistclear
> bpd: >[127.0.0.1:49014]: command: playlistdelete
> bpd: >[127.0.0.1:49014]: command: playlistid
> bpd: >[127.0.0.1:49014]: command: playlistinfo
> bpd: >[127.0.0.1:49014]: command: playlistmove
> bpd: >[127.0.0.1:49014]: command: plchanges
> bpd: >[127.0.0.1:49014]: command: plchangesposid
> bpd: >[127.0.0.1:49014]: command: previous
> bpd: >[127.0.0.1:49014]: command: random
> bpd: >[127.0.0.1:49014]: command: rename
> bpd: >[127.0.0.1:49014]: command: repeat
> bpd: >[127.0.0.1:49014]: command: replay_gain_mode
> bpd: >[127.0.0.1:49014]: command: replay_gain_status
> bpd: >[127.0.0.1:49014]: command: rm
> bpd: >[127.0.0.1:49014]: command: save
> bpd: >[127.0.0.1:49014]: command: search
> bpd: >[127.0.0.1:49014]: command: seek
> bpd: >[127.0.0.1:49014]: command: seekid
> bpd: >[127.0.0.1:49014]: command: setvol
> bpd: >[127.0.0.1:49014]: command: single
> bpd: >[127.0.0.1:49014]: command: stats
> bpd: >[127.0.0.1:49014]: command: status
> bpd: >[127.0.0.1:49014]: command: stop
> bpd: >[127.0.0.1:49014]: command: swap
> bpd: >[127.0.0.1:49014]: command: swapid
> bpd: >[127.0.0.1:49014]: command: tagtypes
> bpd: >[127.0.0.1:49014]: command: update
> bpd: >[127.0.0.1:49014]: command: urlhandlers
> bpd: >[127.0.0.1:49014]: command: volume
> bpd: >[127.0.0.1:49014]: OK
> ok
> test_cmd_listplaylist (test_player.BPDPlaylistsTest) ... overlaying configuration: /tmp/tmpkkx35uzh/tmpzo1ng82q.yaml
> no user configuration found at /tmp/tmpkkx35uzh/config.yaml
> data directory: /tmp/tmpkkx35uzh
> plugin paths: /tmp/tmpkkx35uzh
> Sending event: pluginload
> library database: /tmp/tmpkkx35uzh/library.db
> library directory: /tmp/tmpkkx35uzh/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:17594
> bpd: *[127.0.0.1:33316]: connected
> bpd: >[127.0.0.1:33316]: OK MPD 0.14.0
> bpd: <[127.0.0.1:33316]: listplaylist anything
> bpd: >[127.0.0.1:33316]: ACK [50 at 0] {listplaylist} No such playlist
> ok
> test_cmd_listplaylistinfo (test_player.BPDPlaylistsTest) ... overlaying configuration: /tmp/tmpm0iu1piw/tmpz1fvnrk7.yaml
> no user configuration found at /tmp/tmpm0iu1piw/config.yaml
> data directory: /tmp/tmpm0iu1piw
> plugin paths: /tmp/tmpm0iu1piw
> Sending event: pluginload
> library database: /tmp/tmpm0iu1piw/library.db
> library directory: /tmp/tmpm0iu1piw/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:13879
> bpd: *[127.0.0.1:47282]: connected
> bpd: >[127.0.0.1:47282]: OK MPD 0.14.0
> bpd: <[127.0.0.1:47282]: listplaylistinfo anything
> bpd: >[127.0.0.1:47282]: ACK [50 at 0] {listplaylistinfo} No such playlist
> ok
> test_cmd_listplaylists (test_player.BPDPlaylistsTest) ... overlaying configuration: /tmp/tmpwfzl8u9p/tmp9qnb4ing.yaml
> no user configuration found at /tmp/tmpwfzl8u9p/config.yaml
> data directory: /tmp/tmpwfzl8u9p
> plugin paths: /tmp/tmpwfzl8u9p
> Sending event: pluginload
> library database: /tmp/tmpwfzl8u9p/library.db
> library directory: /tmp/tmpwfzl8u9p/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:15513
> bpd: *[127.0.0.1:45708]: connected
> bpd: >[127.0.0.1:45708]: OK MPD 0.14.0
> bpd: <[127.0.0.1:45708]: listplaylists
> bpd: >[127.0.0.1:45708]: ACK [5 at 0] {listplaylists} Stored playlists are disabled
> ok
> test_cmd_load (test_player.BPDPlaylistsTest) ... overlaying configuration: /tmp/tmpea4xfukc/tmp0smmm5w9.yaml
> no user configuration found at /tmp/tmpea4xfukc/config.yaml
> data directory: /tmp/tmpea4xfukc
> plugin paths: /tmp/tmpea4xfukc
> Sending event: pluginload
> library database: /tmp/tmpea4xfukc/library.db
> library directory: /tmp/tmpea4xfukc/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:15535
> bpd: *[127.0.0.1:49986]: connected
> bpd: >[127.0.0.1:49986]: OK MPD 0.14.0
> bpd: <[127.0.0.1:49986]: load anything
> bpd: >[127.0.0.1:49986]: ACK [50 at 0] {load} Stored playlists are disabled
> ok
> test_cmd_playlistadd (test_player.BPDPlaylistsTest) ... skipped ''
> test_cmd_playlistclear (test_player.BPDPlaylistsTest) ... overlaying configuration: /tmp/tmps5qunn0r/tmpo390kr2q.yaml
> no user configuration found at /tmp/tmps5qunn0r/config.yaml
> data directory: /tmp/tmps5qunn0r
> plugin paths: /tmp/tmps5qunn0r
> Sending event: pluginload
> library database: /tmp/tmps5qunn0r/library.db
> library directory: /tmp/tmps5qunn0r/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:19398
> bpd: *[127.0.0.1:54560]: connected
> bpd: >[127.0.0.1:54560]: OK MPD 0.14.0
> bpd: <[127.0.0.1:54560]: playlistclear anything
> bpd: >[127.0.0.1:54560]: ACK [5 at 0] {playlistclear} Stored playlists are disabled
> ok
> test_cmd_playlistdelete (test_player.BPDPlaylistsTest) ... overlaying configuration: /tmp/tmp7w9x4rc6/tmpjnaw7xn2.yaml
> no user configuration found at /tmp/tmp7w9x4rc6/config.yaml
> data directory: /tmp/tmp7w9x4rc6
> plugin paths: /tmp/tmp7w9x4rc6
> Sending event: pluginload
> library database: /tmp/tmp7w9x4rc6/library.db
> library directory: /tmp/tmp7w9x4rc6/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:18495
> bpd: *[127.0.0.1:41758]: connected
> bpd: >[127.0.0.1:41758]: OK MPD 0.14.0
> bpd: <[127.0.0.1:41758]: playlistdelete anything 0
> bpd: >[127.0.0.1:41758]: ACK [5 at 0] {playlistdelete} Stored playlists are disabled
> ok
> test_cmd_playlistmove (test_player.BPDPlaylistsTest) ... overlaying configuration: /tmp/tmpvw8lsrfx/tmpce1g66pj.yaml
> no user configuration found at /tmp/tmpvw8lsrfx/config.yaml
> data directory: /tmp/tmpvw8lsrfx
> plugin paths: /tmp/tmpvw8lsrfx
> Sending event: pluginload
> library database: /tmp/tmpvw8lsrfx/library.db
> library directory: /tmp/tmpvw8lsrfx/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:9984
> bpd: *[127.0.0.1:50956]: connected
> bpd: >[127.0.0.1:50956]: OK MPD 0.14.0
> bpd: <[127.0.0.1:50956]: playlistmove anything 0 1
> bpd: >[127.0.0.1:50956]: ACK [5 at 0] {playlistmove} Stored playlists are disabled
> ok
> test_cmd_rename (test_player.BPDPlaylistsTest) ... overlaying configuration: /tmp/tmpmuh092uy/tmpn4a7u7ow.yaml
> no user configuration found at /tmp/tmpmuh092uy/config.yaml
> data directory: /tmp/tmpmuh092uy
> plugin paths: /tmp/tmpmuh092uy
> Sending event: pluginload
> library database: /tmp/tmpmuh092uy/library.db
> library directory: /tmp/tmpmuh092uy/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:17481
> bpd: *[127.0.0.1:46206]: connected
> bpd: >[127.0.0.1:46206]: OK MPD 0.14.0
> bpd: <[127.0.0.1:46206]: rename anything newname
> bpd: >[127.0.0.1:46206]: ACK [5 at 0] {rename} Stored playlists are disabled
> ok
> test_cmd_rm (test_player.BPDPlaylistsTest) ... overlaying configuration: /tmp/tmpg0lza2s4/tmpv7mlgynu.yaml
> no user configuration found at /tmp/tmpg0lza2s4/config.yaml
> data directory: /tmp/tmpg0lza2s4
> plugin paths: /tmp/tmpg0lza2s4
> Sending event: pluginload
> library database: /tmp/tmpg0lza2s4/library.db
> library directory: /tmp/tmpg0lza2s4/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:19271
> bpd: *[127.0.0.1:34068]: connected
> bpd: >[127.0.0.1:34068]: OK MPD 0.14.0
> bpd: <[127.0.0.1:34068]: rm anything
> bpd: >[127.0.0.1:34068]: ACK [5 at 0] {rm} Stored playlists are disabled
> ok
> test_cmd_save (test_player.BPDPlaylistsTest) ... overlaying configuration: /tmp/tmpcsgqs31h/tmpvr1bx8c4.yaml
> no user configuration found at /tmp/tmpcsgqs31h/config.yaml
> data directory: /tmp/tmpcsgqs31h
> plugin paths: /tmp/tmpcsgqs31h
> Sending event: pluginload
> library database: /tmp/tmpcsgqs31h/library.db
> library directory: /tmp/tmpcsgqs31h/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:16157
> bpd: *[127.0.0.1:36116]: connected
> bpd: >[127.0.0.1:36116]: OK MPD 0.14.0
> bpd: <[127.0.0.1:36116]: command_list_ok_begin
> bpd: <[127.0.0.1:36116]: add "Artist Name/Album Title/01 Track One Title.mp3"
> bpd: <[127.0.0.1:36116]: command_list_end
> bpd: >[127.0.0.1:36116]: list_OK
> bpd: >[127.0.0.1:36116]: OK
> bpd: <[127.0.0.1:36116]: save newplaylist
> bpd: >[127.0.0.1:36116]: ACK [5 at 0] {save} Stored playlists are disabled
> ok
> test_implements_playlists (test_player.BPDPlaylistsTest) ... overlaying configuration: /tmp/tmpcqneek6_/tmp5j96bgzw.yaml
> no user configuration found at /tmp/tmpcqneek6_/config.yaml
> data directory: /tmp/tmpcqneek6_
> plugin paths: /tmp/tmpcqneek6_
> Sending event: pluginload
> library database: /tmp/tmpcqneek6_/library.db
> library directory: /tmp/tmpcqneek6_/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:14409
> bpd: *[127.0.0.1:48124]: connected
> bpd: >[127.0.0.1:48124]: OK MPD 0.14.0
> bpd: <[127.0.0.1:48124]: commands
> bpd: >[127.0.0.1:48124]: command: add
> bpd: >[127.0.0.1:48124]: command: addid
> bpd: >[127.0.0.1:48124]: command: clear
> bpd: >[127.0.0.1:48124]: command: clearerror
> bpd: >[127.0.0.1:48124]: command: close
> bpd: >[127.0.0.1:48124]: command: commands
> bpd: >[127.0.0.1:48124]: command: consume
> bpd: >[127.0.0.1:48124]: command: count
> bpd: >[127.0.0.1:48124]: command: crash_TypeError
> bpd: >[127.0.0.1:48124]: command: crossfade
> bpd: >[127.0.0.1:48124]: command: currentsong
> bpd: >[127.0.0.1:48124]: command: decoders
> bpd: >[127.0.0.1:48124]: command: delete
> bpd: >[127.0.0.1:48124]: command: deleteid
> bpd: >[127.0.0.1:48124]: command: disableoutput
> bpd: >[127.0.0.1:48124]: command: enableoutput
> bpd: >[127.0.0.1:48124]: command: find
> bpd: >[127.0.0.1:48124]: command: idle
> bpd: >[127.0.0.1:48124]: command: kill
> bpd: >[127.0.0.1:48124]: command: list
> bpd: >[127.0.0.1:48124]: command: listall
> bpd: >[127.0.0.1:48124]: command: listallinfo
> bpd: >[127.0.0.1:48124]: command: listplaylist
> bpd: >[127.0.0.1:48124]: command: listplaylistinfo
> bpd: >[127.0.0.1:48124]: command: listplaylists
> bpd: >[127.0.0.1:48124]: command: load
> bpd: >[127.0.0.1:48124]: command: lsinfo
> bpd: >[127.0.0.1:48124]: command: mixrampdb
> bpd: >[127.0.0.1:48124]: command: mixrampdelay
> bpd: >[127.0.0.1:48124]: command: move
> bpd: >[127.0.0.1:48124]: command: moveid
> bpd: >[127.0.0.1:48124]: command: next
> bpd: >[127.0.0.1:48124]: command: notcommands
> bpd: >[127.0.0.1:48124]: command: outputs
> bpd: >[127.0.0.1:48124]: command: password
> bpd: >[127.0.0.1:48124]: command: pause
> bpd: >[127.0.0.1:48124]: command: ping
> bpd: >[127.0.0.1:48124]: command: play
> bpd: >[127.0.0.1:48124]: command: playid
> bpd: >[127.0.0.1:48124]: command: playlistadd
> bpd: >[127.0.0.1:48124]: command: playlistclear
> bpd: >[127.0.0.1:48124]: command: playlistdelete
> bpd: >[127.0.0.1:48124]: command: playlistid
> bpd: >[127.0.0.1:48124]: command: playlistinfo
> bpd: >[127.0.0.1:48124]: command: playlistmove
> bpd: >[127.0.0.1:48124]: command: plchanges
> bpd: >[127.0.0.1:48124]: command: plchangesposid
> bpd: >[127.0.0.1:48124]: command: previous
> bpd: >[127.0.0.1:48124]: command: random
> bpd: >[127.0.0.1:48124]: command: rename
> bpd: >[127.0.0.1:48124]: command: repeat
> bpd: >[127.0.0.1:48124]: command: replay_gain_mode
> bpd: >[127.0.0.1:48124]: command: replay_gain_status
> bpd: >[127.0.0.1:48124]: command: rm
> bpd: >[127.0.0.1:48124]: command: save
> bpd: >[127.0.0.1:48124]: command: search
> bpd: >[127.0.0.1:48124]: command: seek
> bpd: >[127.0.0.1:48124]: command: seekid
> bpd: >[127.0.0.1:48124]: command: setvol
> bpd: >[127.0.0.1:48124]: command: single
> bpd: >[127.0.0.1:48124]: command: stats
> bpd: >[127.0.0.1:48124]: command: status
> bpd: >[127.0.0.1:48124]: command: stop
> bpd: >[127.0.0.1:48124]: command: swap
> bpd: >[127.0.0.1:48124]: command: swapid
> bpd: >[127.0.0.1:48124]: command: tagtypes
> bpd: >[127.0.0.1:48124]: command: update
> bpd: >[127.0.0.1:48124]: command: urlhandlers
> bpd: >[127.0.0.1:48124]: command: volume
> bpd: >[127.0.0.1:48124]: OK
> ok
> test_cmd_idle (test_player.BPDQueryTest) ... overlaying configuration: /tmp/tmp2rjz3zn5/tmpsjrw_wml.yaml
> no user configuration found at /tmp/tmp2rjz3zn5/config.yaml
> data directory: /tmp/tmp2rjz3zn5
> plugin paths: /tmp/tmp2rjz3zn5
> Sending event: pluginload
> library database: /tmp/tmp2rjz3zn5/library.db
> library directory: /tmp/tmp2rjz3zn5/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:10112
> bpd: *[127.0.0.1:59056]: connected
> bpd: >[127.0.0.1:59056]: OK MPD 0.14.0
> bpd: *[127.0.0.1:59058]: connected
> bpd: >[127.0.0.1:59058]: OK MPD 0.14.0
> bpd: <[127.0.0.1:59056]: command_list_ok_begin
> bpd: <[127.0.0.1:59056]: add "Artist Name/Album Title/01 Track One Title.mp3"
> bpd: <[127.0.0.1:59056]: add "Artist Name/Album Title/02 Track Two Title.mp3"
> bpd: <[127.0.0.1:59056]: command_list_end
> bpd: >[127.0.0.1:59056]: list_OK
> bpd: >[127.0.0.1:59056]: list_OK
> bpd: >[127.0.0.1:59056]: OK
> bpd: <[127.0.0.1:59058]: command_list_ok_begin
> bpd: <[127.0.0.1:59058]: play
> bpd: <[127.0.0.1:59058]: pause
> bpd: <[127.0.0.1:59058]: command_list_end
> bpd: >[127.0.0.1:59058]: list_OK
> bpd: <[127.0.0.1:59056]: idle player
> bpd: >[127.0.0.1:59058]: list_OK
> bpd: z[127.0.0.1:59056]: awaiting: player
> bpd: >[127.0.0.1:59056]: changed: player
> bpd: >[127.0.0.1:59056]: OK
> bpd: >[127.0.0.1:59058]: OK
> bpd: <[127.0.0.1:59058]: command_list_ok_begin
> bpd: <[127.0.0.1:59058]: play
> bpd: <[127.0.0.1:59058]: pause
> bpd: <[127.0.0.1:59058]: command_list_end
> bpd: >[127.0.0.1:59058]: list_OK
> bpd: >[127.0.0.1:59058]: list_OK
> bpd: >[127.0.0.1:59058]: OK
> bpd: <[127.0.0.1:59058]: command_list_ok_begin
> bpd: <[127.0.0.1:59058]: play
> bpd: <[127.0.0.1:59058]: pause
> bpd: <[127.0.0.1:59058]: command_list_end
> bpd: >[127.0.0.1:59058]: list_OK
> bpd: >[127.0.0.1:59058]: list_OK
> bpd: >[127.0.0.1:59058]: OK
> ok
> test_cmd_idle_with_pending (test_player.BPDQueryTest) ... overlaying configuration: /tmp/tmp87ml1hhh/tmp9s9gpvtg.yaml
> no user configuration found at /tmp/tmp87ml1hhh/config.yaml
> data directory: /tmp/tmp87ml1hhh
> plugin paths: /tmp/tmp87ml1hhh
> Sending event: pluginload
> library database: /tmp/tmp87ml1hhh/library.db
> library directory: /tmp/tmp87ml1hhh/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:18717
> bpd: *[127.0.0.1:50916]: connected
> bpd: >[127.0.0.1:50916]: OK MPD 0.14.0
> bpd: *[127.0.0.1:50918]: connected
> bpd: >[127.0.0.1:50918]: OK MPD 0.14.0
> bpd: <[127.0.0.1:50916]: random 1
> bpd: >[127.0.0.1:50916]: OK
> bpd: <[127.0.0.1:50918]: idle
> bpd: z[127.0.0.1:50918]: awaiting: update playlist player options mixer database
> bpd: >[127.0.0.1:50918]: changed: options
> bpd: >[127.0.0.1:50918]: OK
> ok
> test_cmd_noidle (test_player.BPDQueryTest) ... overlaying configuration: /tmp/tmpqp6dxfvt/tmps01vle01.yaml
> no user configuration found at /tmp/tmpqp6dxfvt/config.yaml
> data directory: /tmp/tmpqp6dxfvt
> plugin paths: /tmp/tmpqp6dxfvt
> Sending event: pluginload
> library database: /tmp/tmpqp6dxfvt/library.db
> library directory: /tmp/tmpqp6dxfvt/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:14841
> bpd: *[127.0.0.1:56212]: connected
> bpd: >[127.0.0.1:56212]: OK MPD 0.14.0
> bpd: <[127.0.0.1:56212]: idle
> bpd: z[127.0.0.1:56212]: awaiting: update playlist player options mixer database
> bpd: <[127.0.0.1:56212]: noidle
> bpd: >[127.0.0.1:56212]: OK
> ok
> test_cmd_status (test_player.BPDQueryTest) ... overlaying configuration: /tmp/tmpzikoy23f/tmp6ov1hisn.yaml
> no user configuration found at /tmp/tmpzikoy23f/config.yaml
> data directory: /tmp/tmpzikoy23f
> plugin paths: /tmp/tmpzikoy23f
> Sending event: pluginload
> library database: /tmp/tmpzikoy23f/library.db
> library directory: /tmp/tmpzikoy23f/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:14698
> bpd: *[127.0.0.1:39178]: connected
> bpd: >[127.0.0.1:39178]: OK MPD 0.14.0
> bpd: <[127.0.0.1:39178]: command_list_ok_begin
> bpd: <[127.0.0.1:39178]: add "Artist Name/Album Title/01 Track One Title.mp3"
> bpd: <[127.0.0.1:39178]: add "Artist Name/Album Title/02 Track Two Title.mp3"
> bpd: <[127.0.0.1:39178]: command_list_end
> bpd: >[127.0.0.1:39178]: list_OK
> bpd: >[127.0.0.1:39178]: list_OK
> bpd: >[127.0.0.1:39178]: OK
> bpd: <[127.0.0.1:39178]: command_list_ok_begin
> bpd: <[127.0.0.1:39178]: status
> bpd: <[127.0.0.1:39178]: play
> bpd: <[127.0.0.1:39178]: status
> bpd: <[127.0.0.1:39178]: command_list_end
> bpd: >[127.0.0.1:39178]: repeat: 0
> bpd: >[127.0.0.1:39178]: random: 0
> bpd: >[127.0.0.1:39178]: consume: 0
> bpd: >[127.0.0.1:39178]: single: 0
> bpd: >[127.0.0.1:39178]: playlist: 2
> bpd: >[127.0.0.1:39178]: playlistlength: 2
> bpd: >[127.0.0.1:39178]: mixrampdb: 0.0
> bpd: >[127.0.0.1:39178]: volume: 100
> bpd: >[127.0.0.1:39178]: state: stop
> bpd: >[127.0.0.1:39178]: list_OK
> bpd: >[127.0.0.1:39178]: list_OK
> bpd: >[127.0.0.1:39178]: repeat: 0
> bpd: >[127.0.0.1:39178]: random: 0
> bpd: >[127.0.0.1:39178]: consume: 0
> bpd: >[127.0.0.1:39178]: single: 0
> bpd: >[127.0.0.1:39178]: playlist: 2
> bpd: >[127.0.0.1:39178]: playlistlength: 2
> bpd: >[127.0.0.1:39178]: mixrampdb: 0.0
> bpd: >[127.0.0.1:39178]: volume: 100
> bpd: >[127.0.0.1:39178]: state: play
> bpd: >[127.0.0.1:39178]: song: 0
> bpd: >[127.0.0.1:39178]: songid: 1
> bpd: >[127.0.0.1:39178]: bitrate: 0.0
> bpd: >[127.0.0.1:39178]: audio: 0:0:0
> bpd: >[127.0.0.1:39178]: time: 0:0
> bpd: >[127.0.0.1:39178]: elapsed: 0.000
> bpd: >[127.0.0.1:39178]: duration: 0.000
> bpd: >[127.0.0.1:39178]: list_OK
> bpd: >[127.0.0.1:39178]: OK
> ok
> test_implements_query (test_player.BPDQueryTest) ... overlaying configuration: /tmp/tmpdxo656q4/tmpwo0mv30d.yaml
> no user configuration found at /tmp/tmpdxo656q4/config.yaml
> data directory: /tmp/tmpdxo656q4
> plugin paths: /tmp/tmpdxo656q4
> Sending event: pluginload
> library database: /tmp/tmpdxo656q4/library.db
> library directory: /tmp/tmpdxo656q4/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:14443
> bpd: *[127.0.0.1:36384]: connected
> bpd: >[127.0.0.1:36384]: OK MPD 0.14.0
> bpd: <[127.0.0.1:36384]: commands
> bpd: >[127.0.0.1:36384]: command: add
> bpd: >[127.0.0.1:36384]: command: addid
> bpd: >[127.0.0.1:36384]: command: clear
> bpd: >[127.0.0.1:36384]: command: clearerror
> bpd: >[127.0.0.1:36384]: command: close
> bpd: >[127.0.0.1:36384]: command: commands
> bpd: >[127.0.0.1:36384]: command: consume
> bpd: >[127.0.0.1:36384]: command: count
> bpd: >[127.0.0.1:36384]: command: crash_TypeError
> bpd: >[127.0.0.1:36384]: command: crossfade
> bpd: >[127.0.0.1:36384]: command: currentsong
> bpd: >[127.0.0.1:36384]: command: decoders
> bpd: >[127.0.0.1:36384]: command: delete
> bpd: >[127.0.0.1:36384]: command: deleteid
> bpd: >[127.0.0.1:36384]: command: disableoutput
> bpd: >[127.0.0.1:36384]: command: enableoutput
> bpd: >[127.0.0.1:36384]: command: find
> bpd: >[127.0.0.1:36384]: command: idle
> bpd: >[127.0.0.1:36384]: command: kill
> bpd: >[127.0.0.1:36384]: command: list
> bpd: >[127.0.0.1:36384]: command: listall
> bpd: >[127.0.0.1:36384]: command: listallinfo
> bpd: >[127.0.0.1:36384]: command: listplaylist
> bpd: >[127.0.0.1:36384]: command: listplaylistinfo
> bpd: >[127.0.0.1:36384]: command: listplaylists
> bpd: >[127.0.0.1:36384]: command: load
> bpd: >[127.0.0.1:36384]: command: lsinfo
> bpd: >[127.0.0.1:36384]: command: mixrampdb
> bpd: >[127.0.0.1:36384]: command: mixrampdelay
> bpd: >[127.0.0.1:36384]: command: move
> bpd: >[127.0.0.1:36384]: command: moveid
> bpd: >[127.0.0.1:36384]: command: next
> bpd: >[127.0.0.1:36384]: command: notcommands
> bpd: >[127.0.0.1:36384]: command: outputs
> bpd: >[127.0.0.1:36384]: command: password
> bpd: >[127.0.0.1:36384]: command: pause
> bpd: >[127.0.0.1:36384]: command: ping
> bpd: >[127.0.0.1:36384]: command: play
> bpd: >[127.0.0.1:36384]: command: playid
> bpd: >[127.0.0.1:36384]: command: playlistadd
> bpd: >[127.0.0.1:36384]: command: playlistclear
> bpd: >[127.0.0.1:36384]: command: playlistdelete
> bpd: >[127.0.0.1:36384]: command: playlistid
> bpd: >[127.0.0.1:36384]: command: playlistinfo
> bpd: >[127.0.0.1:36384]: command: playlistmove
> bpd: >[127.0.0.1:36384]: command: plchanges
> bpd: >[127.0.0.1:36384]: command: plchangesposid
> bpd: >[127.0.0.1:36384]: command: previous
> bpd: >[127.0.0.1:36384]: command: random
> bpd: >[127.0.0.1:36384]: command: rename
> bpd: >[127.0.0.1:36384]: command: repeat
> bpd: >[127.0.0.1:36384]: command: replay_gain_mode
> bpd: >[127.0.0.1:36384]: command: replay_gain_status
> bpd: >[127.0.0.1:36384]: command: rm
> bpd: >[127.0.0.1:36384]: command: save
> bpd: >[127.0.0.1:36384]: command: search
> bpd: >[127.0.0.1:36384]: command: seek
> bpd: >[127.0.0.1:36384]: command: seekid
> bpd: >[127.0.0.1:36384]: command: setvol
> bpd: >[127.0.0.1:36384]: command: single
> bpd: >[127.0.0.1:36384]: command: stats
> bpd: >[127.0.0.1:36384]: command: status
> bpd: >[127.0.0.1:36384]: command: stop
> bpd: >[127.0.0.1:36384]: command: swap
> bpd: >[127.0.0.1:36384]: command: swapid
> bpd: >[127.0.0.1:36384]: command: tagtypes
> bpd: >[127.0.0.1:36384]: command: update
> bpd: >[127.0.0.1:36384]: command: urlhandlers
> bpd: >[127.0.0.1:36384]: command: volume
> bpd: >[127.0.0.1:36384]: OK
> ok
> test_cmd_add (test_player.BPDQueueTest) ... overlaying configuration: /tmp/tmpgqg176ml/tmp72d2szap.yaml
> no user configuration found at /tmp/tmpgqg176ml/config.yaml
> data directory: /tmp/tmpgqg176ml
> plugin paths: /tmp/tmpgqg176ml
> Sending event: pluginload
> library database: /tmp/tmpgqg176ml/library.db
> library directory: /tmp/tmpgqg176ml/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:15544
> bpd: *[127.0.0.1:45060]: connected
> bpd: >[127.0.0.1:45060]: OK MPD 0.14.0
> bpd: <[127.0.0.1:45060]: command_list_ok_begin
> bpd: <[127.0.0.1:45060]: add "Artist Name/Album Title/01 Track One Title.mp3"
> bpd: <[127.0.0.1:45060]: command_list_end
> bpd: >[127.0.0.1:45060]: list_OK
> bpd: >[127.0.0.1:45060]: OK
> ok
> test_cmd_playlistinfo (test_player.BPDQueueTest) ... overlaying configuration: /tmp/tmpbi7nj7rl/tmp7xg92373.yaml
> no user configuration found at /tmp/tmpbi7nj7rl/config.yaml
> data directory: /tmp/tmpbi7nj7rl
> plugin paths: /tmp/tmpbi7nj7rl
> Sending event: pluginload
> library database: /tmp/tmpbi7nj7rl/library.db
> library directory: /tmp/tmpbi7nj7rl/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:10417
> bpd: *[127.0.0.1:44084]: connected
> bpd: >[127.0.0.1:44084]: OK MPD 0.14.0
> bpd: <[127.0.0.1:44084]: command_list_ok_begin
> bpd: <[127.0.0.1:44084]: add "Artist Name/Album Title/01 Track One Title.mp3"
> bpd: <[127.0.0.1:44084]: command_list_end
> bpd: >[127.0.0.1:44084]: list_OK
> bpd: >[127.0.0.1:44084]: OK
> bpd: <[127.0.0.1:44084]: command_list_ok_begin
> bpd: <[127.0.0.1:44084]: playlistinfo
> bpd: <[127.0.0.1:44084]: playlistinfo 0
> bpd: <[127.0.0.1:44084]: playlistinfo 200
> bpd: <[127.0.0.1:44084]: command_list_end
> bpd: >[127.0.0.1:44084]: file: Artist Name/Album Title/01 Track One Title.mp3
> bpd: >[127.0.0.1:44084]: Time: 0
> bpd: >[127.0.0.1:44084]: Title: Track One Title
> bpd: >[127.0.0.1:44084]: Artist: Artist Name
> bpd: >[127.0.0.1:44084]: Album: Album Title
> bpd: >[127.0.0.1:44084]: Genre: 
> bpd: >[127.0.0.1:44084]: Track: 1
> bpd: >[127.0.0.1:44084]: Date: 0
> bpd: >[127.0.0.1:44084]: Pos: 0
> bpd: >[127.0.0.1:44084]: Id: 1
> bpd: >[127.0.0.1:44084]: list_OK
> bpd: >[127.0.0.1:44084]: file: Artist Name/Album Title/01 Track One Title.mp3
> bpd: >[127.0.0.1:44084]: Time: 0
> bpd: >[127.0.0.1:44084]: Title: Track One Title
> bpd: >[127.0.0.1:44084]: Artist: Artist Name
> bpd: >[127.0.0.1:44084]: Album: Album Title
> bpd: >[127.0.0.1:44084]: Genre: 
> bpd: >[127.0.0.1:44084]: Track: 1
> bpd: >[127.0.0.1:44084]: Date: 0
> bpd: >[127.0.0.1:44084]: Pos: 0
> bpd: >[127.0.0.1:44084]: Id: 1
> bpd: >[127.0.0.1:44084]: list_OK
> bpd: >[127.0.0.1:44084]: ACK [2 at 2] {playlistinfo} argument out of range
> ok
> test_implements_queue (test_player.BPDQueueTest) ... overlaying configuration: /tmp/tmpssoke4jv/tmp4tk1w5s6.yaml
> no user configuration found at /tmp/tmpssoke4jv/config.yaml
> data directory: /tmp/tmpssoke4jv
> plugin paths: /tmp/tmpssoke4jv
> Sending event: pluginload
> library database: /tmp/tmpssoke4jv/library.db
> library directory: /tmp/tmpssoke4jv/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:16596
> bpd: *[127.0.0.1:48088]: connected
> bpd: >[127.0.0.1:48088]: OK MPD 0.14.0
> bpd: <[127.0.0.1:48088]: commands
> bpd: >[127.0.0.1:48088]: command: add
> bpd: >[127.0.0.1:48088]: command: addid
> bpd: >[127.0.0.1:48088]: command: clear
> bpd: >[127.0.0.1:48088]: command: clearerror
> bpd: >[127.0.0.1:48088]: command: close
> bpd: >[127.0.0.1:48088]: command: commands
> bpd: >[127.0.0.1:48088]: command: consume
> bpd: >[127.0.0.1:48088]: command: count
> bpd: >[127.0.0.1:48088]: command: crash_TypeError
> bpd: >[127.0.0.1:48088]: command: crossfade
> bpd: >[127.0.0.1:48088]: command: currentsong
> bpd: >[127.0.0.1:48088]: command: decoders
> bpd: >[127.0.0.1:48088]: command: delete
> bpd: >[127.0.0.1:48088]: command: deleteid
> bpd: >[127.0.0.1:48088]: command: disableoutput
> bpd: >[127.0.0.1:48088]: command: enableoutput
> bpd: >[127.0.0.1:48088]: command: find
> bpd: >[127.0.0.1:48088]: command: idle
> bpd: >[127.0.0.1:48088]: command: kill
> bpd: >[127.0.0.1:48088]: command: list
> bpd: >[127.0.0.1:48088]: command: listall
> bpd: >[127.0.0.1:48088]: command: listallinfo
> bpd: >[127.0.0.1:48088]: command: listplaylist
> bpd: >[127.0.0.1:48088]: command: listplaylistinfo
> bpd: >[127.0.0.1:48088]: command: listplaylists
> bpd: >[127.0.0.1:48088]: command: load
> bpd: >[127.0.0.1:48088]: command: lsinfo
> bpd: >[127.0.0.1:48088]: command: mixrampdb
> bpd: >[127.0.0.1:48088]: command: mixrampdelay
> bpd: >[127.0.0.1:48088]: command: move
> bpd: >[127.0.0.1:48088]: command: moveid
> bpd: >[127.0.0.1:48088]: command: next
> bpd: >[127.0.0.1:48088]: command: notcommands
> bpd: >[127.0.0.1:48088]: command: outputs
> bpd: >[127.0.0.1:48088]: command: password
> bpd: >[127.0.0.1:48088]: command: pause
> bpd: >[127.0.0.1:48088]: command: ping
> bpd: >[127.0.0.1:48088]: command: play
> bpd: >[127.0.0.1:48088]: command: playid
> bpd: >[127.0.0.1:48088]: command: playlistadd
> bpd: >[127.0.0.1:48088]: command: playlistclear
> bpd: >[127.0.0.1:48088]: command: playlistdelete
> bpd: >[127.0.0.1:48088]: command: playlistid
> bpd: >[127.0.0.1:48088]: command: playlistinfo
> bpd: >[127.0.0.1:48088]: command: playlistmove
> bpd: >[127.0.0.1:48088]: command: plchanges
> bpd: >[127.0.0.1:48088]: command: plchangesposid
> bpd: >[127.0.0.1:48088]: command: previous
> bpd: >[127.0.0.1:48088]: command: random
> bpd: >[127.0.0.1:48088]: command: rename
> bpd: >[127.0.0.1:48088]: command: repeat
> bpd: >[127.0.0.1:48088]: command: replay_gain_mode
> bpd: >[127.0.0.1:48088]: command: replay_gain_status
> bpd: >[127.0.0.1:48088]: command: rm
> bpd: >[127.0.0.1:48088]: command: save
> bpd: >[127.0.0.1:48088]: command: search
> bpd: >[127.0.0.1:48088]: command: seek
> bpd: >[127.0.0.1:48088]: command: seekid
> bpd: >[127.0.0.1:48088]: command: setvol
> bpd: >[127.0.0.1:48088]: command: single
> bpd: >[127.0.0.1:48088]: command: stats
> bpd: >[127.0.0.1:48088]: command: status
> bpd: >[127.0.0.1:48088]: command: stop
> bpd: >[127.0.0.1:48088]: command: swap
> bpd: >[127.0.0.1:48088]: command: swapid
> bpd: >[127.0.0.1:48088]: command: tagtypes
> bpd: >[127.0.0.1:48088]: command: update
> bpd: >[127.0.0.1:48088]: command: urlhandlers
> bpd: >[127.0.0.1:48088]: command: volume
> bpd: >[127.0.0.1:48088]: OK
> expected failure
> test_cmd_decoders (test_player.BPDReflectionTest) ... overlaying configuration: /tmp/tmp6k63yz3v/tmp2zgzsb_8.yaml
> no user configuration found at /tmp/tmp6k63yz3v/config.yaml
> data directory: /tmp/tmp6k63yz3v
> plugin paths: /tmp/tmp6k63yz3v
> Sending event: pluginload
> library database: /tmp/tmp6k63yz3v/library.db
> library directory: /tmp/tmp6k63yz3v/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:11548
> bpd: *[127.0.0.1:55706]: connected
> bpd: >[127.0.0.1:55706]: OK MPD 0.14.0
> bpd: <[127.0.0.1:55706]: decoders
> bpd: >[127.0.0.1:55706]: plugin: default
> bpd: >[127.0.0.1:55706]: suffix: mp3
> bpd: >[127.0.0.1:55706]: mime_type: audio/mpeg
> bpd: >[127.0.0.1:55706]: OK
> ok
> test_implements_reflection (test_player.BPDReflectionTest) ... overlaying configuration: /tmp/tmpfwd_mzv6/tmpfr4fxt1_.yaml
> no user configuration found at /tmp/tmpfwd_mzv6/config.yaml
> data directory: /tmp/tmpfwd_mzv6
> plugin paths: /tmp/tmpfwd_mzv6
> Sending event: pluginload
> library database: /tmp/tmpfwd_mzv6/library.db
> library directory: /tmp/tmpfwd_mzv6/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:10783
> bpd: *[127.0.0.1:35364]: connected
> bpd: >[127.0.0.1:35364]: OK MPD 0.14.0
> bpd: <[127.0.0.1:35364]: commands
> bpd: >[127.0.0.1:35364]: command: add
> bpd: >[127.0.0.1:35364]: command: addid
> bpd: >[127.0.0.1:35364]: command: clear
> bpd: >[127.0.0.1:35364]: command: clearerror
> bpd: >[127.0.0.1:35364]: command: close
> bpd: >[127.0.0.1:35364]: command: commands
> bpd: >[127.0.0.1:35364]: command: consume
> bpd: >[127.0.0.1:35364]: command: count
> bpd: >[127.0.0.1:35364]: command: crash_TypeError
> bpd: >[127.0.0.1:35364]: command: crossfade
> bpd: >[127.0.0.1:35364]: command: currentsong
> bpd: >[127.0.0.1:35364]: command: decoders
> bpd: >[127.0.0.1:35364]: command: delete
> bpd: >[127.0.0.1:35364]: command: deleteid
> bpd: >[127.0.0.1:35364]: command: disableoutput
> bpd: >[127.0.0.1:35364]: command: enableoutput
> bpd: >[127.0.0.1:35364]: command: find
> bpd: >[127.0.0.1:35364]: command: idle
> bpd: >[127.0.0.1:35364]: command: kill
> bpd: >[127.0.0.1:35364]: command: list
> bpd: >[127.0.0.1:35364]: command: listall
> bpd: >[127.0.0.1:35364]: command: listallinfo
> bpd: >[127.0.0.1:35364]: command: listplaylist
> bpd: >[127.0.0.1:35364]: command: listplaylistinfo
> bpd: >[127.0.0.1:35364]: command: listplaylists
> bpd: >[127.0.0.1:35364]: command: load
> bpd: >[127.0.0.1:35364]: command: lsinfo
> bpd: >[127.0.0.1:35364]: command: mixrampdb
> bpd: >[127.0.0.1:35364]: command: mixrampdelay
> bpd: >[127.0.0.1:35364]: command: move
> bpd: >[127.0.0.1:35364]: command: moveid
> bpd: >[127.0.0.1:35364]: command: next
> bpd: >[127.0.0.1:35364]: command: notcommands
> bpd: >[127.0.0.1:35364]: command: outputs
> bpd: >[127.0.0.1:35364]: command: password
> bpd: >[127.0.0.1:35364]: command: pause
> bpd: >[127.0.0.1:35364]: command: ping
> bpd: >[127.0.0.1:35364]: command: play
> bpd: >[127.0.0.1:35364]: command: playid
> bpd: >[127.0.0.1:35364]: command: playlistadd
> bpd: >[127.0.0.1:35364]: command: playlistclear
> bpd: >[127.0.0.1:35364]: command: playlistdelete
> bpd: >[127.0.0.1:35364]: command: playlistid
> bpd: >[127.0.0.1:35364]: command: playlistinfo
> bpd: >[127.0.0.1:35364]: command: playlistmove
> bpd: >[127.0.0.1:35364]: command: plchanges
> bpd: >[127.0.0.1:35364]: command: plchangesposid
> bpd: >[127.0.0.1:35364]: command: previous
> bpd: >[127.0.0.1:35364]: command: random
> bpd: >[127.0.0.1:35364]: command: rename
> bpd: >[127.0.0.1:35364]: command: repeat
> bpd: >[127.0.0.1:35364]: command: replay_gain_mode
> bpd: >[127.0.0.1:35364]: command: replay_gain_status
> bpd: >[127.0.0.1:35364]: command: rm
> bpd: >[127.0.0.1:35364]: command: save
> bpd: >[127.0.0.1:35364]: command: search
> bpd: >[127.0.0.1:35364]: command: seek
> bpd: >[127.0.0.1:35364]: command: seekid
> bpd: >[127.0.0.1:35364]: command: setvol
> bpd: >[127.0.0.1:35364]: command: single
> bpd: >[127.0.0.1:35364]: command: stats
> bpd: >[127.0.0.1:35364]: command: status
> bpd: >[127.0.0.1:35364]: command: stop
> bpd: >[127.0.0.1:35364]: command: swap
> bpd: >[127.0.0.1:35364]: command: swapid
> bpd: >[127.0.0.1:35364]: command: tagtypes
> bpd: >[127.0.0.1:35364]: command: update
> bpd: >[127.0.0.1:35364]: command: urlhandlers
> bpd: >[127.0.0.1:35364]: command: volume
> bpd: >[127.0.0.1:35364]: OK
> expected failure
> test_implements_stickers (test_player.BPDStickerTest) ... overlaying configuration: /tmp/tmpkn995opv/tmp6t6ybfx4.yaml
> no user configuration found at /tmp/tmpkn995opv/config.yaml
> data directory: /tmp/tmpkn995opv
> plugin paths: /tmp/tmpkn995opv
> Sending event: pluginload
> library database: /tmp/tmpkn995opv/library.db
> library directory: /tmp/tmpkn995opv/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:14160
> bpd: *[127.0.0.1:34352]: connected
> bpd: >[127.0.0.1:34352]: OK MPD 0.14.0
> bpd: <[127.0.0.1:34352]: commands
> bpd: >[127.0.0.1:34352]: command: add
> bpd: >[127.0.0.1:34352]: command: addid
> bpd: >[127.0.0.1:34352]: command: clear
> bpd: >[127.0.0.1:34352]: command: clearerror
> bpd: >[127.0.0.1:34352]: command: close
> bpd: >[127.0.0.1:34352]: command: commands
> bpd: >[127.0.0.1:34352]: command: consume
> bpd: >[127.0.0.1:34352]: command: count
> bpd: >[127.0.0.1:34352]: command: crash_TypeError
> bpd: >[127.0.0.1:34352]: command: crossfade
> bpd: >[127.0.0.1:34352]: command: currentsong
> bpd: >[127.0.0.1:34352]: command: decoders
> bpd: >[127.0.0.1:34352]: command: delete
> bpd: >[127.0.0.1:34352]: command: deleteid
> bpd: >[127.0.0.1:34352]: command: disableoutput
> bpd: >[127.0.0.1:34352]: command: enableoutput
> bpd: >[127.0.0.1:34352]: command: find
> bpd: >[127.0.0.1:34352]: command: idle
> bpd: >[127.0.0.1:34352]: command: kill
> bpd: >[127.0.0.1:34352]: command: list
> bpd: >[127.0.0.1:34352]: command: listall
> bpd: >[127.0.0.1:34352]: command: listallinfo
> bpd: >[127.0.0.1:34352]: command: listplaylist
> bpd: >[127.0.0.1:34352]: command: listplaylistinfo
> bpd: >[127.0.0.1:34352]: command: listplaylists
> bpd: >[127.0.0.1:34352]: command: load
> bpd: >[127.0.0.1:34352]: command: lsinfo
> bpd: >[127.0.0.1:34352]: command: mixrampdb
> bpd: >[127.0.0.1:34352]: command: mixrampdelay
> bpd: >[127.0.0.1:34352]: command: move
> bpd: >[127.0.0.1:34352]: command: moveid
> bpd: >[127.0.0.1:34352]: command: next
> bpd: >[127.0.0.1:34352]: command: notcommands
> bpd: >[127.0.0.1:34352]: command: outputs
> bpd: >[127.0.0.1:34352]: command: password
> bpd: >[127.0.0.1:34352]: command: pause
> bpd: >[127.0.0.1:34352]: command: ping
> bpd: >[127.0.0.1:34352]: command: play
> bpd: >[127.0.0.1:34352]: command: playid
> bpd: >[127.0.0.1:34352]: command: playlistadd
> bpd: >[127.0.0.1:34352]: command: playlistclear
> bpd: >[127.0.0.1:34352]: command: playlistdelete
> bpd: >[127.0.0.1:34352]: command: playlistid
> bpd: >[127.0.0.1:34352]: command: playlistinfo
> bpd: >[127.0.0.1:34352]: command: playlistmove
> bpd: >[127.0.0.1:34352]: command: plchanges
> bpd: >[127.0.0.1:34352]: command: plchangesposid
> bpd: >[127.0.0.1:34352]: command: previous
> bpd: >[127.0.0.1:34352]: command: random
> bpd: >[127.0.0.1:34352]: command: rename
> bpd: >[127.0.0.1:34352]: command: repeat
> bpd: >[127.0.0.1:34352]: command: replay_gain_mode
> bpd: >[127.0.0.1:34352]: command: replay_gain_status
> bpd: >[127.0.0.1:34352]: command: rm
> bpd: >[127.0.0.1:34352]: command: save
> bpd: >[127.0.0.1:34352]: command: search
> bpd: >[127.0.0.1:34352]: command: seek
> bpd: >[127.0.0.1:34352]: command: seekid
> bpd: >[127.0.0.1:34352]: command: setvol
> bpd: >[127.0.0.1:34352]: command: single
> bpd: >[127.0.0.1:34352]: command: stats
> bpd: >[127.0.0.1:34352]: command: status
> bpd: >[127.0.0.1:34352]: command: stop
> bpd: >[127.0.0.1:34352]: command: swap
> bpd: >[127.0.0.1:34352]: command: swapid
> bpd: >[127.0.0.1:34352]: command: tagtypes
> bpd: >[127.0.0.1:34352]: command: update
> bpd: >[127.0.0.1:34352]: command: urlhandlers
> bpd: >[127.0.0.1:34352]: command: volume
> bpd: >[127.0.0.1:34352]: OK
> expected failure
> test_empty_request (test_player.BPDTest) ... overlaying configuration: /tmp/tmpsfi3fsx4/tmpkoke9hs2.yaml
> no user configuration found at /tmp/tmpsfi3fsx4/config.yaml
> data directory: /tmp/tmpsfi3fsx4
> plugin paths: /tmp/tmpsfi3fsx4
> Sending event: pluginload
> library database: /tmp/tmpsfi3fsx4/library.db
> library directory: /tmp/tmpsfi3fsx4/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:17756
> bpd: *[127.0.0.1:58682]: connected
> bpd: >[127.0.0.1:58682]: OK MPD 0.14.0
> bpd: >[127.0.0.1:58682]: ACK [5 at 0] {} No command given
> bpd: *[127.0.0.1:58682]: disconnected
> ok
> test_missing_argument (test_player.BPDTest) ... overlaying configuration: /tmp/tmpv4g8hxbh/tmpmsuvt5wc.yaml
> no user configuration found at /tmp/tmpv4g8hxbh/config.yaml
> data directory: /tmp/tmpv4g8hxbh
> plugin paths: /tmp/tmpv4g8hxbh
> Sending event: pluginload
> library database: /tmp/tmpv4g8hxbh/library.db
> library directory: /tmp/tmpv4g8hxbh/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:18639
> bpd: *[127.0.0.1:35494]: connected
> bpd: >[127.0.0.1:35494]: OK MPD 0.14.0
> bpd: <[127.0.0.1:35494]: add
> bpd: >[127.0.0.1:35494]: ACK [2 at 0] {add} wrong number of arguments for "add"
> ok
> test_server_hello (test_player.BPDTest) ... overlaying configuration: /tmp/tmp54jxbc6k/tmp18dqnjs5.yaml
> no user configuration found at /tmp/tmp54jxbc6k/config.yaml
> data directory: /tmp/tmp54jxbc6k
> plugin paths: /tmp/tmp54jxbc6k
> Sending event: pluginload
> library database: /tmp/tmp54jxbc6k/library.db
> library directory: /tmp/tmp54jxbc6k/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:12022
> bpd: *[127.0.0.1:59640]: connected
> bpd: >[127.0.0.1:59640]: OK MPD 0.14.0
> ok
> test_system_error (test_player.BPDTest) ... overlaying configuration: /tmp/tmprk0mcdli/tmp8zd9tk6p.yaml
> no user configuration found at /tmp/tmprk0mcdli/config.yaml
> data directory: /tmp/tmprk0mcdli
> plugin paths: /tmp/tmprk0mcdli
> Sending event: pluginload
> library database: /tmp/tmprk0mcdli/library.db
> library directory: /tmp/tmprk0mcdli/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:12181
> bpd: *[127.0.0.1:36038]: connected
> bpd: >[127.0.0.1:36038]: OK MPD 0.14.0
> bpd: <[127.0.0.1:36038]: crash_TypeError
> bpd: Traceback (most recent call last):
>   File "/<<PKGBUILDDIR>>/beetsplug/bpd/__init__.py", line 1016, in run
>     results = func(*args)
>   File "/<<PKGBUILDDIR>>/beetsplug/bpd/__init__.py", line 720, in cmd_crash_TypeError
>     'a' + 2
> TypeError: can only concatenate str (not "int") to str
> 
> bpd: >[127.0.0.1:36038]: ACK [52 at 0] {crash_TypeError} server error
> ok
> test_unexpected_argument (test_player.BPDTest) ... overlaying configuration: /tmp/tmphldm6pw2/tmpd8p9czow.yaml
> no user configuration found at /tmp/tmphldm6pw2/config.yaml
> data directory: /tmp/tmphldm6pw2
> plugin paths: /tmp/tmphldm6pw2
> Sending event: pluginload
> library database: /tmp/tmphldm6pw2/library.db
> library directory: /tmp/tmphldm6pw2/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:12410
> bpd: *[127.0.0.1:55030]: connected
> bpd: >[127.0.0.1:55030]: OK MPD 0.14.0
> bpd: <[127.0.0.1:55030]: ping "extra argument"
> bpd: >[127.0.0.1:55030]: ACK [2 at 0] {ping} wrong number of arguments for "ping"
> ok
> test_unknown_cmd (test_player.BPDTest) ... overlaying configuration: /tmp/tmpfy4zyprq/tmp25ufbdhx.yaml
> no user configuration found at /tmp/tmpfy4zyprq/config.yaml
> data directory: /tmp/tmpfy4zyprq
> plugin paths: /tmp/tmpfy4zyprq
> Sending event: pluginload
> library database: /tmp/tmpfy4zyprq/library.db
> library directory: /tmp/tmpfy4zyprq/libdir
> Sending event: library_opened
> bpd: Starting server...
> bpd: Building directory tree...
> bpd: Finished building directory tree.
> bpd: Server ready and listening on localhost:15795
> bpd: *[127.0.0.1:34986]: connected
> bpd: >[127.0.0.1:34986]: OK MPD 0.14.0
> bpd: <[127.0.0.1:34986]: notacommand
> bpd: >[127.0.0.1:34986]: ACK [5 at 0] {} unknown command "notacommand"
> ok
> test_backslash_in_arg (test_player.CommandParseTest) ... ok
> test_heterogenous_args (test_player.CommandParseTest) ... ok
> test_no_args (test_player.CommandParseTest) ... ok
> test_one_quoted_arg (test_player.CommandParseTest) ... ok
> test_one_unquoted_arg (test_player.CommandParseTest) ... ok
> test_quote_in_arg (test_player.CommandParseTest) ... ok
> test_two_unquoted_args (test_player.CommandParseTest) ... ok
> test_api_url_http (test_embyupdate.EmbyUpdateTest) ... ok
> test_api_url_https (test_embyupdate.EmbyUpdateTest) ... ok
> test_api_url_only_name (test_embyupdate.EmbyUpdateTest) ... ok
> test_create_header_no_token (test_embyupdate.EmbyUpdateTest) ... ok
> test_create_header_with_token (test_embyupdate.EmbyUpdateTest) ... ok
> test_get_token (test_embyupdate.EmbyUpdateTest) ... ok
> test_get_user (test_embyupdate.EmbyUpdateTest) ... ok
> test_password_data (test_embyupdate.EmbyUpdateTest) ... ok
> test_config_include_paths_false (test_web.WebPluginTest) ... ERROR
> test_config_include_paths_true (test_web.WebPluginTest) ... ERROR
> test_get_album_empty_query (test_web.WebPluginTest) ... ok
> test_get_all_albums (test_web.WebPluginTest) ... ok
> test_get_all_items (test_web.WebPluginTest) ... ok
> test_get_item_empty_query (test_web.WebPluginTest) ... ok
> test_get_multiple_albums_by_id (test_web.WebPluginTest) ... ERROR
> test_get_multiple_items_by_id (test_web.WebPluginTest) ... ERROR
> test_get_simple_item_query (test_web.WebPluginTest) ... ok
> test_get_single_album_by_id (test_web.WebPluginTest) ... ERROR
> test_get_single_item_by_id (test_web.WebPluginTest) ... ERROR
> test_get_single_item_by_path (test_web.WebPluginTest) ... ok
> test_get_single_item_by_path_not_found_if_not_in_library (test_web.WebPluginTest) ... ok
> test_get_single_item_not_found (test_web.WebPluginTest) ... ERROR
> test_aao_scraper_finds_image (test_art.AAOTest) ... ok
> test_aao_scraper_returns_no_result_when_no_image_present (test_art.AAOTest) ... ok
> test_resize_if_necessary (test_art.ArtForAlbumTest) ... skipped 'ArtResizer has no local imaging backend available'
> test_respect_enforce_ratio_no (test_art.ArtForAlbumTest) ... ok
> test_respect_enforce_ratio_percent_above (test_art.ArtForAlbumTest) ... skipped 'ArtResizer has no local imaging backend available'
> test_respect_enforce_ratio_percent_below (test_art.ArtForAlbumTest) ... skipped 'ArtResizer has no local imaging backend available'
> test_respect_enforce_ratio_px_above (test_art.ArtForAlbumTest) ... skipped 'ArtResizer has no local imaging backend available'
> test_respect_enforce_ratio_px_below (test_art.ArtForAlbumTest) ... skipped 'ArtResizer has no local imaging backend available'
> test_respect_enforce_ratio_yes (test_art.ArtForAlbumTest) ... skipped 'ArtResizer has no local imaging backend available'
> test_respect_minwidth (test_art.ArtForAlbumTest) ... skipped 'ArtResizer has no local imaging backend available'
> test_art_not_found (test_art.ArtImporterTest) ... ok
> test_delete_original_file (test_art.ArtImporterTest) ... ok
> test_do_not_delete_original_if_already_in_place (test_art.ArtImporterTest) ... ok
> test_fetch_art (test_art.ArtImporterTest) ... ok
> test_fetch_art_if_imported_file_deleted (test_art.ArtImporterTest) ... fetchart: the album artist - the album: found album art
> ok
> test_leave_original_file_in_place (test_art.ArtImporterTest) ... ok
> test_no_art_for_singleton (test_art.ArtImporterTest) ... ok
> test_local_only_does_not_access_network (test_art.CombinedTest) ... ok
> test_local_only_gets_fs_image (test_art.CombinedTest) ... ok
> test_main_interface_falls_back_to_aao (test_art.CombinedTest) ... ok
> test_main_interface_falls_back_to_amazon (test_art.CombinedTest) ... ok
> test_main_interface_gives_precedence_to_fs_art (test_art.CombinedTest) ... ok
> test_main_interface_returns_amazon_art (test_art.CombinedTest) ... ok
> test_main_interface_returns_none_for_missing_asin_and_path (test_art.CombinedTest) ... ok
> test_main_interface_tries_amazon_before_aao (test_art.CombinedTest) ... ok
> test_main_interface_uses_caa_when_mbid_available (test_art.CombinedTest) ... ok
> test_moves_filesystem_to_end (test_art.DeprecatedConfigTest) ... fetchart: The `fetch_art.remote_priority` configuration option has been deprecated. Instead, place `filesystem` at the end of your `sources` list.
> ok
> test_percent (test_art.EnforceRatioConfigTest) ... ok
> test_px (test_art.EnforceRatioConfigTest) ... ok
> test_appropriately_named_file_takes_precedence (test_art.FSArtTest) ... ok
> test_cautious_skips_fallback (test_art.FSArtTest) ... ok
> test_empty_dir (test_art.FSArtTest) ... ok
> test_finds_jpg_in_directory (test_art.FSArtTest) ... ok
> test_non_image_file_not_identified (test_art.FSArtTest) ... ok
> test_precedence_amongst_correct_files (test_art.FSArtTest) ... ok
> test_fanarttv_finds_image (test_art.FanartTVTest) ... ok
> test_fanarttv_only_other_images (test_art.FanartTVTest) ... ok
> test_fanarttv_returns_no_result_when_error_received (test_art.FanartTVTest) ... ok
> test_fanarttv_returns_no_result_with_malformed_response (test_art.FanartTVTest) ... ok
> test_does_not_rely_on_server_content_type (test_art.FetchImageTest) ... Server specified image/jpeg, but returned a image/png image. Correcting the extension to .png
> ok
> test_extension_set_by_content_type (test_art.FetchImageTest) ... ok
> test_invalid_type_returns_none (test_art.FetchImageTest) ... ok
> test_jpeg_type_returns_path (test_art.FetchImageTest) ... ok
> test_google_art_finds_image (test_art.GoogleImageTest) ... ok
> test_google_art_returns_no_result_when_error_received (test_art.GoogleImageTest) ... ok
> test_google_art_returns_no_result_with_malformed_response (test_art.GoogleImageTest) ... ok
> test_itunesstore_fallback_match (test_art.ITunesStoreTest) ... ok
> test_itunesstore_finds_image (test_art.ITunesStoreTest) ... ok
> test_itunesstore_no_result (test_art.ITunesStoreTest) ... skipped 'fails on buildds'
> test_itunesstore_requestexception (test_art.ITunesStoreTest) ... skipped 'fails on buildds'
> test_itunesstore_returns_no_result_when_error_received (test_art.ITunesStoreTest) ... skipped 'fails on buildds'
> test_itunesstore_returns_no_result_with_malformed_response (test_art.ITunesStoreTest) ... skipped 'fails on buildds'
> test_itunesstore_returns_result_without_artwork (test_art.ITunesStoreTest) ... skipped 'fails on buildds'
> 
> ======================================================================
> ERROR: test_config_include_paths_false (test_web.WebPluginTest)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/<<PKGBUILDDIR>>/test/test_web.py", line 45, in test_config_include_paths_false
>     response = self.client.get('/item/1')
>   File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 1006, in get
>     return self.open(*args, **kw)
>   File "/usr/lib/python3/dist-packages/flask/testing.py", line 222, in open
>     return Client.open(
>   File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 970, in open
>     response = self.run_wsgi_app(environ.copy(), buffered=buffered)
>   File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 861, in run_wsgi_app
>     rv = run_wsgi_app(self.application, environ, buffered=buffered)
>   File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 1096, in run_wsgi_app
>     app_rv = app(environ, start_response)
>   File "/usr/lib/python3/dist-packages/flask/app.py", line 2464, in __call__
>     return self.wsgi_app(environ, start_response)
>   File "/usr/lib/python3/dist-packages/flask/app.py", line 2450, in wsgi_app
>     response = self.handle_exception(e)
>   File "/usr/lib/python3/dist-packages/flask/app.py", line 1867, in handle_exception
>     reraise(exc_type, exc_value, tb)
>   File "/usr/lib/python3/dist-packages/flask/_compat.py", line 39, in reraise
>     raise value
>   File "/usr/lib/python3/dist-packages/flask/app.py", line 2446, in wsgi_app
>     ctx.push()
>   File "/usr/lib/python3/dist-packages/flask/ctx.py", line 396, in push
>     self.match_request()
>   File "/usr/lib/python3/dist-packages/flask/ctx.py", line 350, in match_request
>     result = self.url_adapter.match(return_rule=True)
>   File "/usr/lib/python3/dist-packages/werkzeug/routing.py", line 1873, in match
>     rv = rule.match(path, method)
>   File "/usr/lib/python3/dist-packages/werkzeug/routing.py", line 902, in match
>     new_path = "|".join(self.build(result, False))
>   File "/usr/lib/python3/dist-packages/werkzeug/routing.py", line 1040, in build
>     return self._build(**values)
>   File "<werkzeug routing>", line 1, in <builder:'/item/<idlist:ids>'>
>   File "/<<PKGBUILDDIR>>/beetsplug/web/__init__.py", line 172, in to_url
>     return ','.join(value)
> TypeError: sequence item 0: expected str instance, int found
> 
> ======================================================================
> ERROR: test_config_include_paths_true (test_web.WebPluginTest)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/<<PKGBUILDDIR>>/test/test_web.py", line 37, in test_config_include_paths_true
>     response = self.client.get('/item/1')
>   File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 1006, in get
>     return self.open(*args, **kw)
>   File "/usr/lib/python3/dist-packages/flask/testing.py", line 222, in open
>     return Client.open(
>   File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 970, in open
>     response = self.run_wsgi_app(environ.copy(), buffered=buffered)
>   File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 861, in run_wsgi_app
>     rv = run_wsgi_app(self.application, environ, buffered=buffered)
>   File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 1096, in run_wsgi_app
>     app_rv = app(environ, start_response)
>   File "/usr/lib/python3/dist-packages/flask/app.py", line 2464, in __call__
>     return self.wsgi_app(environ, start_response)
>   File "/usr/lib/python3/dist-packages/flask/app.py", line 2450, in wsgi_app
>     response = self.handle_exception(e)
>   File "/usr/lib/python3/dist-packages/flask/app.py", line 1867, in handle_exception
>     reraise(exc_type, exc_value, tb)
>   File "/usr/lib/python3/dist-packages/flask/_compat.py", line 39, in reraise
>     raise value
>   File "/usr/lib/python3/dist-packages/flask/app.py", line 2446, in wsgi_app
>     ctx.push()
>   File "/usr/lib/python3/dist-packages/flask/ctx.py", line 396, in push
>     self.match_request()
>   File "/usr/lib/python3/dist-packages/flask/ctx.py", line 350, in match_request
>     result = self.url_adapter.match(return_rule=True)
>   File "/usr/lib/python3/dist-packages/werkzeug/routing.py", line 1873, in match
>     rv = rule.match(path, method)
>   File "/usr/lib/python3/dist-packages/werkzeug/routing.py", line 902, in match
>     new_path = "|".join(self.build(result, False))
>   File "/usr/lib/python3/dist-packages/werkzeug/routing.py", line 1040, in build
>     return self._build(**values)
>   File "<werkzeug routing>", line 1, in <builder:'/item/<idlist:ids>'>
>   File "/<<PKGBUILDDIR>>/beetsplug/web/__init__.py", line 172, in to_url
>     return ','.join(value)
> TypeError: sequence item 0: expected str instance, int found
> 
> ======================================================================
> ERROR: test_get_multiple_albums_by_id (test_web.WebPluginTest)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/<<PKGBUILDDIR>>/test/test_web.py", line 129, in test_get_multiple_albums_by_id
>     response = self.client.get('/album/1,2')
>   File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 1006, in get
>     return self.open(*args, **kw)
>   File "/usr/lib/python3/dist-packages/flask/testing.py", line 222, in open
>     return Client.open(
>   File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 970, in open
>     response = self.run_wsgi_app(environ.copy(), buffered=buffered)
>   File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 861, in run_wsgi_app
>     rv = run_wsgi_app(self.application, environ, buffered=buffered)
>   File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 1096, in run_wsgi_app
>     app_rv = app(environ, start_response)
>   File "/usr/lib/python3/dist-packages/flask/app.py", line 2464, in __call__
>     return self.wsgi_app(environ, start_response)
>   File "/usr/lib/python3/dist-packages/flask/app.py", line 2450, in wsgi_app
>     response = self.handle_exception(e)
>   File "/usr/lib/python3/dist-packages/flask/app.py", line 1867, in handle_exception
>     reraise(exc_type, exc_value, tb)
>   File "/usr/lib/python3/dist-packages/flask/_compat.py", line 39, in reraise
>     raise value
>   File "/usr/lib/python3/dist-packages/flask/app.py", line 2446, in wsgi_app
>     ctx.push()
>   File "/usr/lib/python3/dist-packages/flask/ctx.py", line 396, in push
>     self.match_request()
>   File "/usr/lib/python3/dist-packages/flask/ctx.py", line 350, in match_request
>     result = self.url_adapter.match(return_rule=True)
>   File "/usr/lib/python3/dist-packages/werkzeug/routing.py", line 1873, in match
>     rv = rule.match(path, method)
>   File "/usr/lib/python3/dist-packages/werkzeug/routing.py", line 902, in match
>     new_path = "|".join(self.build(result, False))
>   File "/usr/lib/python3/dist-packages/werkzeug/routing.py", line 1040, in build
>     return self._build(**values)
>   File "<werkzeug routing>", line 1, in <builder:'/album/<idlist:ids>'>
>   File "/<<PKGBUILDDIR>>/beetsplug/web/__init__.py", line 172, in to_url
>     return ','.join(value)
> TypeError: sequence item 0: expected str instance, int found
> 
> ======================================================================
> ERROR: test_get_multiple_items_by_id (test_web.WebPluginTest)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/<<PKGBUILDDIR>>/test/test_web.py", line 67, in test_get_multiple_items_by_id
>     response = self.client.get('/item/1,2')
>   File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 1006, in get
>     return self.open(*args, **kw)
>   File "/usr/lib/python3/dist-packages/flask/testing.py", line 222, in open
>     return Client.open(
>   File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 970, in open
>     response = self.run_wsgi_app(environ.copy(), buffered=buffered)
>   File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 861, in run_wsgi_app
>     rv = run_wsgi_app(self.application, environ, buffered=buffered)
>   File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 1096, in run_wsgi_app
>     app_rv = app(environ, start_response)
>   File "/usr/lib/python3/dist-packages/flask/app.py", line 2464, in __call__
>     return self.wsgi_app(environ, start_response)
>   File "/usr/lib/python3/dist-packages/flask/app.py", line 2450, in wsgi_app
>     response = self.handle_exception(e)
>   File "/usr/lib/python3/dist-packages/flask/app.py", line 1867, in handle_exception
>     reraise(exc_type, exc_value, tb)
>   File "/usr/lib/python3/dist-packages/flask/_compat.py", line 39, in reraise
>     raise value
>   File "/usr/lib/python3/dist-packages/flask/app.py", line 2446, in wsgi_app
>     ctx.push()
>   File "/usr/lib/python3/dist-packages/flask/ctx.py", line 396, in push
>     self.match_request()
>   File "/usr/lib/python3/dist-packages/flask/ctx.py", line 350, in match_request
>     result = self.url_adapter.match(return_rule=True)
>   File "/usr/lib/python3/dist-packages/werkzeug/routing.py", line 1873, in match
>     rv = rule.match(path, method)
>   File "/usr/lib/python3/dist-packages/werkzeug/routing.py", line 902, in match
>     new_path = "|".join(self.build(result, False))
>   File "/usr/lib/python3/dist-packages/werkzeug/routing.py", line 1040, in build
>     return self._build(**values)
>   File "<werkzeug routing>", line 1, in <builder:'/item/<idlist:ids>'>
>   File "/<<PKGBUILDDIR>>/beetsplug/web/__init__.py", line 172, in to_url
>     return ','.join(value)
> TypeError: sequence item 0: expected str instance, int found
> 
> ======================================================================
> ERROR: test_get_single_album_by_id (test_web.WebPluginTest)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/<<PKGBUILDDIR>>/test/test_web.py", line 121, in test_get_single_album_by_id
>     response = self.client.get('/album/2')
>   File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 1006, in get
>     return self.open(*args, **kw)
>   File "/usr/lib/python3/dist-packages/flask/testing.py", line 222, in open
>     return Client.open(
>   File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 970, in open
>     response = self.run_wsgi_app(environ.copy(), buffered=buffered)
>   File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 861, in run_wsgi_app
>     rv = run_wsgi_app(self.application, environ, buffered=buffered)
>   File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 1096, in run_wsgi_app
>     app_rv = app(environ, start_response)
>   File "/usr/lib/python3/dist-packages/flask/app.py", line 2464, in __call__
>     return self.wsgi_app(environ, start_response)
>   File "/usr/lib/python3/dist-packages/flask/app.py", line 2450, in wsgi_app
>     response = self.handle_exception(e)
>   File "/usr/lib/python3/dist-packages/flask/app.py", line 1867, in handle_exception
>     reraise(exc_type, exc_value, tb)
>   File "/usr/lib/python3/dist-packages/flask/_compat.py", line 39, in reraise
>     raise value
>   File "/usr/lib/python3/dist-packages/flask/app.py", line 2446, in wsgi_app
>     ctx.push()
>   File "/usr/lib/python3/dist-packages/flask/ctx.py", line 396, in push
>     self.match_request()
>   File "/usr/lib/python3/dist-packages/flask/ctx.py", line 350, in match_request
>     result = self.url_adapter.match(return_rule=True)
>   File "/usr/lib/python3/dist-packages/werkzeug/routing.py", line 1873, in match
>     rv = rule.match(path, method)
>   File "/usr/lib/python3/dist-packages/werkzeug/routing.py", line 902, in match
>     new_path = "|".join(self.build(result, False))
>   File "/usr/lib/python3/dist-packages/werkzeug/routing.py", line 1040, in build
>     return self._build(**values)
>   File "<werkzeug routing>", line 1, in <builder:'/album/<idlist:ids>'>
>   File "/<<PKGBUILDDIR>>/beetsplug/web/__init__.py", line 172, in to_url
>     return ','.join(value)
> TypeError: sequence item 0: expected str instance, int found
> 
> ======================================================================
> ERROR: test_get_single_item_by_id (test_web.WebPluginTest)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/<<PKGBUILDDIR>>/test/test_web.py", line 59, in test_get_single_item_by_id
>     response = self.client.get('/item/1')
>   File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 1006, in get
>     return self.open(*args, **kw)
>   File "/usr/lib/python3/dist-packages/flask/testing.py", line 222, in open
>     return Client.open(
>   File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 970, in open
>     response = self.run_wsgi_app(environ.copy(), buffered=buffered)
>   File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 861, in run_wsgi_app
>     rv = run_wsgi_app(self.application, environ, buffered=buffered)
>   File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 1096, in run_wsgi_app
>     app_rv = app(environ, start_response)
>   File "/usr/lib/python3/dist-packages/flask/app.py", line 2464, in __call__
>     return self.wsgi_app(environ, start_response)
>   File "/usr/lib/python3/dist-packages/flask/app.py", line 2450, in wsgi_app
>     response = self.handle_exception(e)
>   File "/usr/lib/python3/dist-packages/flask/app.py", line 1867, in handle_exception
>     reraise(exc_type, exc_value, tb)
>   File "/usr/lib/python3/dist-packages/flask/_compat.py", line 39, in reraise
>     raise value
>   File "/usr/lib/python3/dist-packages/flask/app.py", line 2446, in wsgi_app
>     ctx.push()
>   File "/usr/lib/python3/dist-packages/flask/ctx.py", line 396, in push
>     self.match_request()
>   File "/usr/lib/python3/dist-packages/flask/ctx.py", line 350, in match_request
>     result = self.url_adapter.match(return_rule=True)
>   File "/usr/lib/python3/dist-packages/werkzeug/routing.py", line 1873, in match
>     rv = rule.match(path, method)
>   File "/usr/lib/python3/dist-packages/werkzeug/routing.py", line 902, in match
>     new_path = "|".join(self.build(result, False))
>   File "/usr/lib/python3/dist-packages/werkzeug/routing.py", line 1040, in build
>     return self._build(**values)
>   File "<werkzeug routing>", line 1, in <builder:'/item/<idlist:ids>'>
>   File "/<<PKGBUILDDIR>>/beetsplug/web/__init__.py", line 172, in to_url
>     return ','.join(value)
> TypeError: sequence item 0: expected str instance, int found
> 
> ======================================================================
> ERROR: test_get_single_item_not_found (test_web.WebPluginTest)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/<<PKGBUILDDIR>>/test/test_web.py", line 76, in test_get_single_item_not_found
>     response = self.client.get('/item/3')
>   File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 1006, in get
>     return self.open(*args, **kw)
>   File "/usr/lib/python3/dist-packages/flask/testing.py", line 222, in open
>     return Client.open(
>   File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 970, in open
>     response = self.run_wsgi_app(environ.copy(), buffered=buffered)
>   File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 861, in run_wsgi_app
>     rv = run_wsgi_app(self.application, environ, buffered=buffered)
>   File "/usr/lib/python3/dist-packages/werkzeug/test.py", line 1096, in run_wsgi_app
>     app_rv = app(environ, start_response)
>   File "/usr/lib/python3/dist-packages/flask/app.py", line 2464, in __call__
>     return self.wsgi_app(environ, start_response)
>   File "/usr/lib/python3/dist-packages/flask/app.py", line 2450, in wsgi_app
>     response = self.handle_exception(e)
>   File "/usr/lib/python3/dist-packages/flask/app.py", line 1867, in handle_exception
>     reraise(exc_type, exc_value, tb)
>   File "/usr/lib/python3/dist-packages/flask/_compat.py", line 39, in reraise
>     raise value
>   File "/usr/lib/python3/dist-packages/flask/app.py", line 2446, in wsgi_app
>     ctx.push()
>   File "/usr/lib/python3/dist-packages/flask/ctx.py", line 396, in push
>     self.match_request()
>   File "/usr/lib/python3/dist-packages/flask/ctx.py", line 350, in match_request
>     result = self.url_adapter.match(return_rule=True)
>   File "/usr/lib/python3/dist-packages/werkzeug/routing.py", line 1873, in match
>     rv = rule.match(path, method)
>   File "/usr/lib/python3/dist-packages/werkzeug/routing.py", line 902, in match
>     new_path = "|".join(self.build(result, False))
>   File "/usr/lib/python3/dist-packages/werkzeug/routing.py", line 1040, in build
>     return self._build(**values)
>   File "<werkzeug routing>", line 1, in <builder:'/item/<idlist:ids>'>
>   File "/<<PKGBUILDDIR>>/beetsplug/web/__init__.py", line 172, in to_url
>     return ','.join(value)
> TypeError: sequence item 0: expected str instance, int found
> 
> ======================================================================
> FAIL: test_read_audio_properties (test_mediafile.WavpackTest)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/<<PKGBUILDDIR>>/test/test_mediafile.py", line 440, in test_read_audio_properties
>     self.assertEqual(getattr(mediafile, key), value)
> AssertionError: 16 != 0
> 
> ----------------------------------------------------------------------
> Ran 1885 tests in 39.229s
> 
> FAILED (failures=1, errors=7, skipped=44, expected failures=9)
> Test failed: <unittest.runner.TextTestResult run=1885 errors=7 failures=1>
> error: Test failed: <unittest.runner.TextTestResult run=1885 errors=7 failures=1>
> sys:1: ResourceWarning: unclosed file <_io.BufferedWriter name=4>
> sys:1: ResourceWarning: unclosed file <_io.BufferedReader name=5>
> E: pybuild pybuild:352: test: plugin distutils failed with: exit code=1: python3.8 setup.py test 
> dh_auto_test: error: pybuild --test -i python{version} -p 3.8 returned exit code 13

The full build log is available from:
   http://qa-logs.debian.net/2020/08/02/beets_1.4.9-5_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!

About the archive rebuild: The rebuild was done on EC2 VM instances from
Amazon Web Services, using a clean, minimal and up-to-date chroot. Every
failed build was retried once to eliminate random failures.



More information about the Python-apps-team mailing list