==>(B Building on glalie(B ==>(B Checking for remote environment...(B ==>(B Syncing package to remote host...(B sending incremental file list created directory packages/quodlibet ./ .SRCINFO 2,981 100% 0.00kB/s 0:00:00 2,981 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=12/14) .nvchecker.toml 98 100% 95.70kB/s 0:00:00 98 100% 95.70kB/s 0:00:00 (xfr#2, to-chk=11/14) LICENSE 646 100% 630.86kB/s 0:00:00 646 100% 630.86kB/s 0:00:00 (xfr#3, to-chk=10/14) PKGBUILD 4,642 100% 4.43MB/s 0:00:00 4,642 100% 4.43MB/s 0:00:00 (xfr#4, to-chk=9/14) REUSE.toml 545 100% 532.23kB/s 0:00:00 545 100% 532.23kB/s 0:00:00 (xfr#5, to-chk=8/14) quodlibet-4.7.1-3.log 861 100% 840.82kB/s 0:00:00 861 100% 840.82kB/s 0:00:00 (xfr#6, to-chk=7/14) quodlibet-fix-executable-conflict.patch 584 100% 570.31kB/s 0:00:00 584 100% 570.31kB/s 0:00:00 (xfr#7, to-chk=6/14) LICENSES/ LICENSES/0BSD.txt -> ../LICENSE LICENSES/GPL-2.0-or-later.txt 17,337 100% 16.53MB/s 0:00:00 17,337 100% 16.53MB/s 0:00:00 (xfr#8, to-chk=2/14) keys/ keys/pgp/ keys/pgp/0EBF782C5D53F7E5FB02A66746BD761F7A49B0EC.asc 5,393 100% 5.14MB/s 0:00:00 5,393 100% 5.14MB/s 0:00:00 (xfr#9, to-chk=0/14) sent 16,128 bytes received 250 bytes 10,918.67 bytes/sec total size is 32,441 speedup is 1.98 ==>(B Ensuring required PGP keys are present...(B  ->(B Checking for 0EBF782C5D53F7E5FB02A66746BD761F7A49B0EC...(B ==>(B Running pkgctl build --arch riscv64 on remote host...(B ==> WARNING:(B invalid architecture: riscv64(B ==>(B Updating pacman database cache(B ==>(B Locking pacman database cache...(Bdone(B [?25l:: Synchronizing package databases... core downloading... extra downloading... multilib downloading... [?25h==>(B Building quodlibet(B  ->(B repo: extra(B  ->(B arch: riscv64(B  ->(B worker: felix-11(B ==>(B Building quodlibet for [extra] (riscv64)(B ]3008;start=cf9540f366a44be8a90f3bb73d5c680a;user=felix;hostname=glalie.felixc.at;machineid=72144a64db6f4720ade5ccd1e3c98c82;bootid=5c11746ee011489a864744810249b37e;pid=2085677;comm=sudo;targetuser=root;type=session\==>(B Locking clean chroot...(Bdone(B Note: in a future version of systemd-nspawn the default set of permitted socket address families will be restricted to AF_INET, AF_INET6 and AF_UNIX. Use --restrict-address-families= to configure the set of permitted socket address families, or set RestrictAddressFamilies= in a .nspawn file. ]3008;start=7be541cfddd349a09c68e6b138c7ca9a;user=root;hostname=glalie.felixc.at;machineid=72144a64db6f4720ade5ccd1e3c98c82;bootid=5c11746ee011489a864744810249b37e;pid=2089586;comm=systemd-nspawn;container=arch-nspawn-2089586;type=container\]11;?\]2;🔵 Container arch-nspawn-2089586 on glalie.felixc.at\[?25l:: Synchronizing package databases... core downloading... extra downloading... :: Starting full system upgrade... there is nothing to do [?25h[!p]104\[?7h]3008;end=7be541cfddd349a09c68e6b138c7ca9a\==>(B Building in chroot for [extra] (riscv64)...(B ==>(B Locking clean chroot [/var/lib/archbuild/extra-riscv64/root]...(Bdone(B ==>(B Synchronizing chroot copy [/var/lib/archbuild/extra-riscv64/root] -> [felix-11]...(Bdone(B ]3008;start=424ca47e16e24b9eb160d072cb4b3c0a;user=root;hostname=glalie.felixc.at;machineid=72144a64db6f4720ade5ccd1e3c98c82;bootid=5c11746ee011489a864744810249b37e;pid=2099483;comm=sudo;targetuser=felix;type=session\==>(B Making package: quodlibet 4.7.1-3 (Tue Sep 8 21:55:53 2026)(B ==>(B Retrieving sources...(B  ->(B Downloading quodlibet-4.7.1.tar.gz...(B % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00:01 0 0 0 0 0 0 0 0 0 00:01 0 0 0 0 0 0 0 0 0 00:01 0 43 5.44M 43 2.38M 0 0 981.2k 0 00:05 00:02 00:03 2.38M 100 5.44M 100 5.44M 0 0 1.62M 0 00:03 00:03 2.38M 100 5.44M 100 5.44M 0 0 1.62M 0 00:03 00:03 2.38M 100 5.44M 100 5.44M 0 0 1.62M 0 00:03 00:03 2.38M  ->(B Downloading quodlibet-4.7.1.tar.gz.sig...(B % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 566 100 566 0 0 465 0 00:01 00:01 0 100 566 100 566 0 0 465 0 00:01 00:01 0 100 566 100 566 0 0 465 0 00:01 00:01 0  ->(B Found quodlibet-fix-executable-conflict.patch(B ==>(B Validating source files with sha512sums...(B quodlibet-4.7.1.tar.gz ... Passed quodlibet-4.7.1.tar.gz.sig ... Skipped quodlibet-fix-executable-conflict.patch ... Passed ==>(B Validating source files with b2sums...(B quodlibet-4.7.1.tar.gz ... Passed quodlibet-4.7.1.tar.gz.sig ... Skipped quodlibet-fix-executable-conflict.patch ... Passed ==>(B Verifying source file signatures with gpg...(B quodlibet-4.7.1.tar.gz ... Passed ]3008;end=424ca47e16e24b9eb160d072cb4b3c0a\Note: in a future version of systemd-nspawn the default set of permitted socket address families will be restricted to AF_INET, AF_INET6 and AF_UNIX. Use --restrict-address-families= to configure the set of permitted socket address families, or set RestrictAddressFamilies= in a .nspawn file. ]3008;start=5ebe9d60d53945c7bf76199b98582d2d;user=root;hostname=glalie.felixc.at;machineid=72144a64db6f4720ade5ccd1e3c98c82;bootid=5c11746ee011489a864744810249b37e;pid=2104685;comm=systemd-nspawn;container=makechrootpkg-quodlibet.build.2085813;type=container\]11;?\]2;🔵 Container makechrootpkg-quodlibet.build.2085813 on glalie.felixc.at\]3008;start=2475bbfa65d3462d9e5b98927425f4e8;user=root;hostname=makechrootpkg-quodlibet.build.2085813;machineid=bc09cb1bbe5d452fb1c6fa9ee790c373;bootid=9762d2cb3f4b4ab5883d1123a36976ac;pid=14;comm=sudo;targetuser=builduser;type=session\==>(B Making package: quodlibet 4.7.1-3 (Tue Sep 8 13:56:25 2026)(B ==>(B Checking runtime dependencies...(B ==>(B Installing missing dependencies...(B ]3008;start=fa04e59a0c184225b51068a0f22df59d;user=builduser;hostname=makechrootpkg-quodlibet.build.2085813;machineid=bc09cb1bbe5d452fb1c6fa9ee790c373;bootid=9762d2cb3f4b4ab5883d1123a36976ac;pid=886;comm=sudo;targetuser=root;type=session\[?25lresolving dependencies... looking for conflicting packages... Package (116) New Version Net Change Download Size extra/adwaita-cursors 50.0-1 11.41 MiB extra/adwaita-fonts 51.0-2 7.27 MiB extra/adwaita-icon-theme 50.0-1 1.19 MiB extra/adwaita-icon-theme-legacy 46.2-3 2.23 MiB extra/alsa-lib 1.2.16.1-1 1.78 MiB extra/alsa-topology-conf 1.2.5.1-4 0.33 MiB extra/alsa-ucm-conf 1.2.16.1-1 0.68 MiB extra/at-spi2-core 2.60.6-1 4.08 MiB extra/avahi 1:0.9rc5-1 1.94 MiB extra/bubblewrap 0.12.0-1 0.09 MiB extra/cairo 1.18.4-1 1.44 MiB extra/cdparanoia 10.2-10 0.16 MiB extra/dav1d 1.5.4-1 0.71 MiB extra/dconf 0.49.0-1 0.43 MiB extra/default-cursors 3-1 0.00 MiB extra/desktop-file-utils 0.28-1 0.19 MiB extra/duktape 2.7.0-7 0.78 MiB extra/fontconfig 2:2.18.3-2 1.28 MiB extra/freetype2 2.14.3-1 1.61 MiB extra/fribidi 1.0.16-2 0.24 MiB extra/giflib 6.1.3-2 0.30 MiB extra/glib-networking 1:2.80.1-1 0.63 MiB extra/glycin 2.1.5-2 20.41 MiB extra/gperftools 2.18.1-1 1.99 MiB extra/graphene 1.10.8-2 0.99 MiB extra/graphite 1:1.3.15-1 0.18 MiB extra/gsettings-desktop-schemas 50.1-1 6.08 MiB extra/gsettings-system-schemas 50.1-1 0.02 MiB extra/gtest 1.18.0-1 1.57 MiB extra/gtk-update-icon-cache 1:4.22.4-1 0.03 MiB extra/harfbuzz 14.4.0-1 4.70 MiB extra/highway 1.4.0-1 4.57 MiB extra/iso-codes 4.20.1-1 22.30 MiB extra/jbigkit 2.1-8 0.13 MiB extra/json-glib 1.10.8-1 1.01 MiB extra/lcms2 2.19.1-1 0.66 MiB extra/libcloudproviders 0.4.1-1 0.32 MiB extra/libcolord 1.4.8-1 1.24 MiB extra/libcups 2:2.4.19-1 0.83 MiB extra/libdaemon 0.14-6 0.05 MiB extra/libdatrie 0.2.14-1 0.48 MiB extra/libdeflate 1.26-1 0.10 MiB extra/libdrm 2.4.134-1 1.23 MiB core/libedit 20260512_3.1-1 0.26 MiB extra/libepoxy 1.5.10-3 2.76 MiB extra/libgirepository 1.86.0-2 1.51 MiB extra/libglvnd 1.7.0-3 3.99 MiB extra/libgudev 238-3 0.38 MiB extra/libjpeg-turbo 3.2.0-2 2.24 MiB extra/libjxl 0.12.0-1 9.72 MiB extra/libogg 1.3.6-1 0.43 MiB extra/libpciaccess 0.19-1 0.05 MiB extra/libpng 1.6.58-2 0.54 MiB extra/libproxy 0.5.12-1 0.08 MiB extra/librsvg 2:2.62.3-1 10.04 MiB extra/libstemmer 3.1.1-1 0.92 MiB extra/libthai 0.1.30-1 1.24 MiB extra/libtheora 1.2.0-1 2.29 MiB extra/libtiff 4.7.2-1 1.18 MiB extra/libunwind 1.8.3-1 0.26 MiB extra/libvorbis 1.3.7-4 0.84 MiB extra/libwebp 1.6.0-2 0.64 MiB extra/libx11 1.8.13-1 9.75 MiB extra/libxau 1.0.12-1 0.02 MiB extra/libxcb 1.17.0-1 3.69 MiB extra/libxcomposite 0.4.7-1 0.02 MiB extra/libxcursor 1.2.3-1 0.06 MiB extra/libxdamage 1.1.7-1 0.01 MiB extra/libxdmcp 1.1.5-2 0.13 MiB extra/libxext 1.3.7-1 0.30 MiB extra/libxfixes 6.0.2-1 0.03 MiB extra/libxft 2.3.9-1 0.12 MiB extra/libxi 1.8.3-1 0.48 MiB extra/libxinerama 1.1.6-1 0.02 MiB extra/libxkbcommon 1.13.2-1 0.98 MiB extra/libxrandr 1.5.5-1 0.07 MiB extra/libxrender 0.9.12-1 0.09 MiB extra/libxshmfence 1.3.3-1 0.01 MiB extra/libxtst 1.2.5-1 0.11 MiB extra/libxv 1.0.13-1 0.05 MiB extra/libxxf86vm 1.1.7-1 0.03 MiB extra/llvm-libs 22.1.8-2 154.50 MiB extra/lm_sensors 1:3.6.2-1 0.43 MiB core/lzo 2.10-5 0.34 MiB extra/mesa 1:26.2.2-1 51.41 MiB extra/opus 1.6.1-1 4.03 MiB extra/orc 0.4.43-1 1.53 MiB extra/pixman 0.46.4-1 0.48 MiB extra/python-certifi 2026.07.22-1 0.02 MiB extra/python-charset-normalizer 3.5.1-1 0.63 MiB extra/python-feedparser-sgmllib 2.1.0-1 0.09 MiB 0.02 MiB extra/python-idna 3.19-1 0.66 MiB extra/python-urllib3 2.6.3-1 1.44 MiB extra/shared-mime-info 2.5.1-2 5.81 MiB extra/spirv-tools 1:1.4.357.0-1 7.12 MiB extra/tinysparql 3.11.1-1 3.88 MiB extra/wayland 1.26.0-1 0.84 MiB extra/xcb-proto 1.17.0-4 1.03 MiB extra/xkeyboard-config 2.48-1 10.24 MiB extra/xorg-xprop 1.2.8-1 0.05 MiB extra/xorgproto 2025.1-1 1.47 MiB extra/gdk-pixbuf2 2.44.7-1 2.98 MiB extra/gobject-introspection-runtime 1.86.0-2 0.15 MiB extra/gst-plugins-base 1.24.10-2 0.86 MiB extra/gst-plugins-base-libs 1.24.10-2 11.64 MiB extra/gstreamer 1.24.10-2 10.88 MiB extra/gtk3 1:3.24.52-1 53.25 MiB extra/hicolor-icon-theme 0.18-1 0.05 MiB extra/libsoup3 3.6.6-2 1.99 MiB extra/pango 1:1.58.2-1 2.37 MiB extra/python-cairo 1.29.1-1 0.46 MiB extra/python-dbus 1.4.0-2 0.62 MiB extra/python-feedparser 6.0.14-1 0.64 MiB 0.12 MiB extra/python-gobject 3.56.3-1 1.51 MiB extra/python-mutagen 1.48.1-1 2.30 MiB extra/python-requests 2.34.2-1 0.76 MiB Total Download Size: 0.14 MiB Total Installed Size: 499.46 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... python-feedparser-6.0.14-1-any downloading... python-feedparser-sgmllib-2.1.0-1-any downloading... checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing bubblewrap... installing libpng... installing freetype2... Optional dependencies for freetype2 harfbuzz: Improved autohinting [pending] installing fontconfig... Creating fontconfig configuration... Rebuilding fontconfig cache... installing xcb-proto... installing xorgproto... installing libxdmcp... installing libxau... installing libxcb... installing libx11... installing libxext... installing libxrender... installing lzo... installing pixman... installing cairo... installing libjpeg-turbo... installing jbigkit... installing libdeflate... installing libwebp... Optional dependencies for libwebp libwebp-utils: WebP conversion and inspection tools installing libtiff... Optional dependencies for libtiff freeglut: for using tiffgt installing lcms2... installing giflib... installing libunwind... installing gperftools... installing gtest... Optional dependencies for gtest python: gmock generator [installed] installing highway... installing libjxl... Optional dependencies for libjxl java-runtime: for JNI bindings installing dav1d... Optional dependencies for dav1d dav1d-doc: HTML documentation installing graphite... Optional dependencies for graphite graphite-docs: Documentation installing harfbuzz... Optional dependencies for harfbuzz harfbuzz-utils: utilities installing fribidi... installing libdatrie... installing libthai... installing libxft... installing pango... installing librsvg... installing glycin... Optional dependencies for glycin libheif: Load .avif, .heic and .heif installing shared-mime-info... installing gdk-pixbuf2... Optional dependencies for gdk-pixbuf2 libheif: Load .avif, .heic and .heif libopenraw: Load .arw, .cr2, .crw, .dng, .erf, .mrw, .nef, .orf, .pef and .raf libwmf: Load .apm and .wmf installing libgirepository... installing gobject-introspection-runtime... installing gstreamer... Optional dependencies for gstreamer python: gst-plugins-doc-cache-generator [installed] installing iso-codes... installing libpciaccess... installing libdrm... Optional dependencies for libdrm cairo: needed for modetest tool [installed] installing libxshmfence... installing libxxf86vm... installing libedit... installing llvm-libs... installing lm_sensors... Optional dependencies for lm_sensors rrdtool: for logging with sensord perl: for sensor detection and configuration convert [installed] installing spirv-tools... installing default-cursors... Optional dependencies for default-cursors adwaita-cursors: default cursor theme [pending] installing wayland... installing mesa... Optional dependencies for mesa opengl-man-pages: for the OpenGL API man pages installing libglvnd... installing libgudev... installing libxfixes... installing libxi... installing libxv... installing orc... installing gst-plugins-base-libs... installing alsa-topology-conf... installing alsa-ucm-conf... installing alsa-lib... installing cdparanoia... installing graphene... installing libogg... installing libtheora... installing libvorbis... installing opus... installing gst-plugins-base... installing adwaita-fonts... installing hicolor-icon-theme... installing adwaita-icon-theme-legacy... installing adwaita-cursors... installing adwaita-icon-theme... installing dconf... installing gsettings-system-schemas... installing gsettings-desktop-schemas... installing libxtst... installing xorg-xprop... installing at-spi2-core... installing desktop-file-utils... installing libcloudproviders... installing libcolord... installing libdaemon... installing avahi... Optional dependencies for avahi gtk3: avahi-discover, avahi-discover-standalone, bshell, bssh, bvnc [pending] libevent: libevent bindings [installed] nss-mdns: NSS support for mDNS python-dbus: avahi-bookmarks, avahi-discover [pending] python-gobject: avahi-bookmarks, avahi-discover [pending] python-twisted: avahi-bookmarks installing libcups... installing libepoxy... installing libxcomposite... installing libxcursor... installing libxdamage... installing libxinerama... installing xkeyboard-config... installing libxkbcommon... Optional dependencies for libxkbcommon libxkbcommon-x11: xkbcli interactive-x11 wayland: xkbcli interactive-wayland [installed] installing libxrandr... installing json-glib... installing duktape... installing libproxy... installing glib-networking... installing libsoup3... Optional dependencies for libsoup3 samba: Windows Domain SSO installing libstemmer... installing tinysparql... installing gtk-update-icon-cache... installing gtk3... Optional dependencies for gtk3 evince: Default print preview command installing python-cairo... installing python-dbus... Optional dependencies for python-dbus python-gobject: D-Bus services via PyGI [pending] installing python-charset-normalizer... installing python-idna... installing python-urllib3... Optional dependencies for python-urllib3 python-brotli: Brotli support python-brotlicffi: Brotli support python-h2: HTTP/2 support python-pysocks: SOCKS support installing python-certifi... installing python-requests... Optional dependencies for python-requests python-chardet: alternative character encoding library python-pysocks: SOCKS proxy support installing python-feedparser-sgmllib... installing python-feedparser... Optional dependencies for python-feedparser python-chardet: for character encoding auto-detection python-cchardet: for faster character encoding auto-detection installing python-gobject... Optional dependencies for python-gobject python-cairo: Cairo bindings [installed] installing python-mutagen... :: Running post-transaction hooks... ( 1/13) Creating system user accounts... Creating group 'avahi' with GID 968. Creating user 'avahi' (Avahi mDNS/DNS-SD daemon) with UID 968 and GID 968. ( 2/13) Reloading system manager configuration... Skipped: Current root is not booted. ( 3/13) Reloading user manager configuration... Skipped: Current root is not booted. ( 4/13) Updating the MIME type database... ( 5/13) Arming ConditionNeedsUpdate... ( 6/13) Updating fontconfig configuration... ( 7/13) Reloading system bus configuration... Skipped: Current root is not booted. ( 8/13) Updating fontconfig cache... ( 9/13) Updating GIO module cache... (10/13) Compiling GSettings XML schema files... (11/13) Probing GTK3 input method modules... (12/13) Updating icon theme caches... (13/13) Updating the desktop file MIME type cache... [?25h]3008;end=fa04e59a0c184225b51068a0f22df59d\==>(B Checking buildtime dependencies...(B ==>(B Installing missing dependencies...(B ]3008;start=dd135b4f988c4576988e7843f1c01628;user=builduser;hostname=makechrootpkg-quodlibet.build.2085813;machineid=bc09cb1bbe5d452fb1c6fa9ee790c373;bootid=9762d2cb3f4b4ab5883d1123a36976ac;pid=1443;comm=sudo;targetuser=root;type=session\[?25lresolving dependencies... :: There are 2 providers available for jack: :: Repository extra 1) jack2 2) pipewire-jack Enter a number (default=1): looking for conflicting packages... warning: insufficient columns available for table display Packages (193) a52dec-0.8.0-3 aalib-1.4rc5-19 abseil-cpp-20260817.0-2 aom-3.15.0-1 chromaprint-1.6.1-2 faac-2.1-1 faad2-2.11.3-1 ffmpeg-2:9.0.1-4 fftw-3.3.11-1 flac-1.5.0-1 fluidsynth-2.6.0-1 freeglut-3.8.0-1 glslang-1:1.4.357.0-1 glu-9.0.3-3 gpm-1.20.7.r38.ge82d1a6-6 gsm-1.0.24-1 gssdp-1.6.6-1 gst-plugins-bad-libs-1.24.10-2 gupnp-1:1.6.10-1 gupnp-igd-1.6.0-2 hidapi-0.15.0-1 imagemagick-7.1.2.31-1 imath-3.2.3-1 imlib2-1.12.7-3 jack2-1.9.22-2 l-smash-2.14.5-4 lame-4.0-1 libass-0.17.5-1 libasyncns-1:0.8+r3+g68cd5af-3 libavc1394-0.5.4-7 libavtp-0.2.0-3 libbluray-1.5.1-1 libbpf-1.7.0-1 libbs2b-3.1.0-10 libbsd-0.12.2-2 libcaca-0.99.beta20-7 libcdio-2.4.0-1 libdc1394-2.2.7-2 libdca-0.0.7-3 libde265-1.1.2-1 libdovi-3.4.0-1 libdv-1.0.0-12 libdvdnav-7.0.0-1 libdvdread-7.1.1-1 libfdk-aac-2.0.3-2 libfontenc-1.1.9-1 libfreeaptx-0.2.2-1 libgme-0.6.5-1 libice-1.1.2-1 libiec61883-1.2.0-9 liblc3-1.1.3-2 libldac-2.0.2.6-1 liblqr-0.4.3-1 liblrdf-0.6.1-5 libltc-1.3.2-2 libmd-1.2.0-1 libmicrodns-0.2.0-2 libmodplug-0.8.9.0-7 libmpcdec-1:0.1+r475-6 libmpeg2-0.5.1-11 libnice-0.1.24-1 libopenmpt-0.8.9-1 libpgm-5.3.128-4 libpipewire-1:1.6.8-1 libplacebo-7.360.1-6 libpulse-17.0+r98+gb096704c0-1 libraqm-0.11.0-1 libraw1394-2.1.2-4 libsamplerate-0.2.2-3 libshout-1:2.4.6-5 libsm-1.2.6-1 libsndfile-1.2.2-4 libsodium-1.0.22-1 libsoxr-0.1.3-5 libsrtp-1:2.8.0-1 libssh-0.12.2-1 libunibreak-7.0-1 libva-2.24.1-1 libvdpau-1.5-4 libvpl-2.17.0-1 libvpx-1.17.0-1 libxfont2-2.0.9-1 libxkbcommon-x11-1.13.2-1 libxkbfile-1.2.0-1 libxmu-1.3.1-1 libxslt-1.1.45-2 libxt-1.3.1-1 libxvmc-1.0.15-1 lilv-0.28.0-1 lv2-1.18.10-2 mjpegtools-2.2.1-4 mpg123-1.33.7-1 neon-0.37.1-1 nspr-4.40-1 nss-3.128-1 ocl-icd-2.3.5-1 openal-1.25.2-2 opencore-amr-0.1.6-2 openexr-3.4.15-1 openh264-2.6.0-2 openjpeg2-2.5.4-1 openjph-0.31.0-1 pcre-8.45-5 portaudio-1:19.7.0-4 procps-ng-4.0.7-1 python-autocommand-2.2.2-9 python-babel-2.18.0-1 python-docutils-1:0.23-1 python-imagesize-2.0.1-1 python-iniconfig-2.3.0-1 python-jaraco.collections-5.1.0-3 python-jaraco.context-6.1.2-1 python-jaraco.functools-4.1.0-3 python-jaraco.text-4.0.0-4 python-jinja-1:3.1.6-3.1 python-markupsafe-3.0.3-1 python-more-itertools-11.1.0-1 python-packaging-26.3-1 python-pkg_resources-81.0.0-1 python-platformdirs-4.11.7-1 python-pluggy-1.6.0-3.1 python-pygments-2.21.0-1 python-pyproject-hooks-1.2.0-6 python-pytz-2026.1-1 python-roman-numerals-py-3.1.0-2 python-snowballstemmer-3.1.1-1 python-sphinx-9.1.0-1 python-sphinx-alabaster-theme-1.0.0-6 python-sphinxcontrib-applehelp-2.0.0-5.1 python-sphinxcontrib-devhelp-2.0.0-6.1 python-sphinxcontrib-htmlhelp-2.1.0-5.1 python-sphinxcontrib-jquery-4.1-5 python-sphinxcontrib-jsmath-1.0.1-21.1 python-sphinxcontrib-qthelp-2.0.0-5.1 python-sphinxcontrib-serializinghtml-2.0.0-5.1 python-typing_extensions-4.16.0-1 qrencode-4.1.1-4 raptor-2.0.16-9 rav1e-0.8.1-3 rtmpdump-1:2.6-2 rubberband-4.0.0-2 sbc-2.2-1 sdl2-compat-2.32.72-1 sdl3-3.4.16-1 serd-0.32.10-1 shaderc-2026.3-1 slang-2.3.3-4 snappy-1.2.2-3 sndio-1.10.0-1 sord-0.16.22-1 soundtouch-2.4.1-1 spandsp-0.0.6-7 speex-1.2.1-2 speexdsp-1.2.1-2 sratom-0.6.22-1 srt-1.5.7-1 svt-av1-4.2.0-1 taglib-2.3.2-1 twolame-0.4.0-4 v4l-utils-1.32.0-2 vapoursynth-79-1 vid.stab-1.1.2-1 vmaf-3.2.0-1 vulkan-icd-loader-1.4.357.0-1 wavpack-5.9.0-1 webrtc-audio-processing-1-1.3-5 wildmidi-0.5.0-1 x264-3:0.165.r3222.b35605a-2 x265-4.3-1 xorg-fonts-encodings-1.1.0-2 xorg-server-common-21.1.24-1 xorg-setxkbmap-1.3.5-1 xorg-xauth-1.1.5-1 xorg-xkbcomp-1.5.0-1 xvidcore-1.3.7-4 zbar-0.23.93-7 zeromq-4.3.5-3 zimg-3.0.6-2 zix-0.8.2-1 zvbi-0.2.45-1 zxing-cpp-2.3.0-5 gst-plugins-bad-1.24.10-2 gst-plugins-good-1.24.10-2 gst-plugins-ugly-1.24.10-2 python-build-1.6.0-1 python-installer-1.0.1-1 python-pytest-1:9.1.1-1 python-pyvirtualdisplay-3.0-7 python-setuptools-1:82.0.1-1 python-sphinx_rtd_theme-3.1.0-1 python-wheel-0.48.0-1 xine-lib-1.2.13-21 xorg-server-xvfb-21.1.24-1 Total Download Size: 6.35 MiB Total Installed Size: 496.61 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... xine-lib-1.2.13-21-riscv64 downloading... gst-plugins-bad-1.24.10-2-riscv64 downloading... mjpegtools-2.2.1-4-riscv64 downloading... zxing-cpp-2.3.0-5-riscv64 downloading... zbar-0.23.93-7-riscv64 downloading... gst-plugins-ugly-1.24.10-2-riscv64 downloading... wildmidi-0.5.0-1-riscv64 downloading... rtmpdump-1:2.6-2-riscv64 downloading... faac-2.1-1-riscv64 downloading... soundtouch-2.4.1-1-riscv64 downloading... chromaprint-1.6.1-2-riscv64 downloading... qrencode-4.1.1-4-riscv64 downloading... python-pyvirtualdisplay-3.0-7-any downloading... libavtp-0.2.0-3-riscv64 downloading... checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing python-packaging... installing python-pyproject-hooks... installing python-build... Optional dependencies for python-build python-pip: to use as the Python package installer (default) python-uv: to use as the Python package installer python-virtualenv: to use virtualenv for build isolation installing python-installer... installing python-more-itertools... installing python-jaraco.functools... installing python-jaraco.context... installing python-autocommand... installing python-jaraco.text... Optional dependencies for python-jaraco.text python-inflect: for show-newlines script installing python-jaraco.collections... installing python-platformdirs... installing python-wheel... Optional dependencies for python-wheel python-keyring: for wheel.signatures python-xdg: for wheel.signatures python-setuptools: for legacy bdist_wheel subcommand [pending] installing python-typing_extensions... installing python-pkg_resources... installing python-setuptools... installing python-pytz... installing python-babel... installing python-docutils... Optional dependencies for python-docutils python-myst-parser: to parse input in "Markdown" (CommonMark) format python-pillow: for some image manipulation operations python-pygments: for syntax highlighting of code directives and roles [pending] installing python-imagesize... installing python-markupsafe... installing python-jinja... Optional dependencies for python-jinja python-babel: for i18n support [installed] installing python-pygments... installing python-roman-numerals-py... installing python-snowballstemmer... Optional dependencies for python-snowballstemmer python-pystemmer: for improved performance installing python-sphinx-alabaster-theme... installing python-sphinxcontrib-applehelp... installing python-sphinxcontrib-devhelp... installing python-sphinxcontrib-htmlhelp... installing python-sphinxcontrib-jsmath... installing python-sphinxcontrib-qthelp... installing python-sphinxcontrib-serializinghtml... installing python-sphinx... Optional dependencies for python-sphinx imagemagick: for ext.imgconverter [pending] texlive-fontsextra: for the default admonition title icons in PDF output texlive-latexextra: for generation of PDF documentation installing python-sphinxcontrib-jquery... installing python-sphinx_rtd_theme... installing gssdp... Optional dependencies for gssdp gtk4: gssdp-device-sniffer installing gupnp... Optional dependencies for gupnp python: gupnp-binding-tool [installed] installing gupnp-igd... installing libnice... Optional dependencies for libnice gstreamer: "nice" GStreamer plugin [installed] installing libva... Optional dependencies for libva intel-media-driver: backend for Intel GPUs (>= Broadwell) libva-intel-driver: backend for Intel GPUs (<= Haswell) libva-mesa-driver: backend for AMD and NVIDIA GPUs [installed] installing libxkbcommon-x11... installing vulkan-icd-loader... Optional dependencies for vulkan-icd-loader vulkan-driver: packaged vulkan driver installing gst-plugins-bad-libs... installing aom... installing gsm... installing libsamplerate... installing jack2... Optional dependencies for jack2 a2jmidid: for ALSA MIDI to JACK MIDI bridging libffado: for firewire support using FFADO jack-example-tools: for official JACK example-clients and tools jack2-dbus: for dbus integration jack2-docs: for developer documentation realtime-privileges: for realtime privileges installing mpg123... Optional dependencies for mpg123 sdl2-compat: for sdl audio support [pending] jack: for jack audio support [installed] libpulse: for pulse audio support [pending] perl: for conplay [installed] installing lame... installing libunibreak... installing libass... installing libraw1394... installing libavc1394... installing libbluray... Optional dependencies for libbluray java-runtime: BD-J library installing flac... installing libsndfile... Optional dependencies for libsndfile alsa-lib: for sndfile-play [installed] installing libbs2b... installing libdvdread... Optional dependencies for libdvdread libdvdcss: Decoding encrypted DVDs installing libdvdnav... installing libiec61883... installing libmodplug... installing libasyncns... installing libpulse... Optional dependencies for libpulse pulse-native-provider: PulseAudio backend installing portaudio... installing libopenmpt... installing glslang... installing shaderc... installing libdovi... installing libplacebo... installing libsoxr... installing libssh... installing libvdpau... Optional dependencies for libvdpau libvdpau-va-gl: driver using VAAPI nvidia-utils: driver for NVIDIA installing libvpx... installing ocl-icd... Optional dependencies for ocl-icd opencl-driver: packaged opencl driver installing libvpl... Optional dependencies for libvpl intel-media-sdk: runtime implementation for legacy Intel GPUs vpl-gpu-rt: runtime implementation for Tiger Lake and newer GPUs installing opencore-amr... installing openjpeg2... installing rav1e... installing fftw... Optional dependencies for fftw fftw-openmpi: for OpenMPI integration installing rubberband... installing hidapi... Optional dependencies for hidapi libusb: for hidapi-libusb [installed] installing sdl3... Optional dependencies for sdl3 alsa-lib: ALSA audio driver [installed] libpulse: PulseAudio audio driver [installed] jack: JACK audio driver [installed] pipewire: PipeWire audio driver vulkan-driver: vulkan renderer sndio: sndio audio driver [pending] libdecor: Wayland client decorations installing sdl2-compat... installing snappy... installing libmd... installing libbsd... installing sndio... installing speexdsp... installing speex... installing srt... installing svt-av1... installing libbpf... installing v4l-utils... Optional dependencies for v4l-utils qt6-base: for qv4l2 and qvidcap qt6-5compat: for qv4l2 alsa-lib: for qv4l2 [installed] installing zimg... installing vapoursynth... installing vid.stab... installing vmaf... installing l-smash... installing x264... installing x265... installing xvidcore... installing libsodium... installing libpgm... installing zeromq... Optional dependencies for zeromq cppzmq: C++ binding for libzmq installing ffmpeg... Optional dependencies for ffmpeg avisynthplus: AviSynthPlus support frei0r-plugins: Frei0r video effects support ladspa: LADSPA filters onevpl-intel-gpu: Intel QuickSync support installing chromaprint... installing faac... installing faad2... installing libpipewire... installing fluidsynth... installing imath... Optional dependencies for imath boost-libs: python bindings [installed] python: python bindings [installed] installing libavtp... installing libdc1394... installing libdca... installing libde265... Optional dependencies for libde265 sdl2-compat: for the decoder tool [installed] installing libfdk-aac... installing libfreeaptx... installing libgme... installing liblc3... Optional dependencies for liblc3 python: Python bindings [installed] installing libldac... installing libxslt... Optional dependencies for libxslt python: Python bindings [installed] installing raptor... installing liblrdf... installing libltc... installing libmicrodns... installing libmpcdec... installing nspr... installing nss... installing libsrtp... installing serd... Optional dependencies for serd serd-docs: for developer documentation installing zix... Optional dependencies for zix zix-docs: for developer documentation installing sord... Optional dependencies for sord sord-docs: for developer documentation installing lv2... Optional dependencies for lv2 lv2-docs: for developer documentation lv2-example-plugins: for example plugins python-lxml: for lv2specgen.py python-markdown: for lv2specgen.py python-pygments: for lv2specgen.py [installed] python-rdflib: for lv2specgen.py sord: for lv2_validate [installed] installing sratom... Optional dependencies for sratom sratom-docs: for developer documentation installing lilv... Optional dependencies for lilv lilv-docs: for documentation lilv-tools: for CLI tools python-lilv: for Python bindings installing libdv... installing mjpegtools... installing neon... installing openal... Optional dependencies for openal qt6-base: alsoft-config GUI Configurator fluidsynth: MIDI rendering [installed] libmysofa: makemhr tool installing openjph... installing openexr... Optional dependencies for openexr python: for python bindings [installed] installing openh264... installing qrencode... installing rtmpdump... installing sbc... installing soundtouch... installing spandsp... installing abseil-cpp... installing webrtc-audio-processing-1... installing wildmidi... installing liblqr... installing libraqm... installing imagemagick... Optional dependencies for imagemagick ghostscript: PS/PDF support jbigkit: JBIG support [installed] libheif: HEIF support libjpeg-turbo: JPEG support [installed] libjxl: JPEG XL support [installed] libraw: DNG support librsvg: SVG support [installed] libtiff: TIFF support [installed] libultrahdr: UHDR support libwebp: WEBP support [installed] libwmf: WMF support libzip: OpenRaster support ocl-icd: OpenCL support [installed] openexr: OpenEXR support [installed] openjpeg2: JPEG2000 support [installed] djvulibre: DJVU support pango: Text rendering [installed] installing zbar... Optional dependencies for zbar gtk3: for zbar-gtk [installed] qt5-x11extras: for zbar-qt python: for zbar python bindings [installed] installing zvbi... installing zxing-cpp... installing gst-plugins-bad... installing procps-ng... installing gpm... installing pcre... installing slang... installing aalib... Optional dependencies for aalib xorg-fonts-misc: x11 driver xorg-mkfontscale: x11 driver installing glu... installing freeglut... installing imlib2... Optional dependencies for imlib2 libheif: HEIF loader (for AVIF) libid3tag: ID3 loader libjxl: JXL loader [installed] librsvg: SVG loader [installed] libspectre: PS loader libwebp: WEBP loader [installed] openjpeg2: J2K loader [installed] installing libcaca... Optional dependencies for libcaca python: Python bindings [installed] installing libshout... installing taglib... installing twolame... installing wavpack... installing gst-plugins-good... Optional dependencies for gst-plugins-good jack: JACK backend [installed] installing a52dec... installing libcdio... installing libmpeg2... installing gst-plugins-ugly... installing python-iniconfig... installing python-pluggy... installing python-pytest... installing python-pyvirtualdisplay... installing libxvmc... installing xine-lib... Optional dependencies for xine-lib libdvdnav: for dvd plugin [installed] libdvdread: for spu and dxr3 plugins [installed] vcdimager: for vcd plugin glu: for opengl and vaapi plugins [installed] sdl: for sdl plugin wayland: for egl_wl plugin [installed] aalib: for aalib plugin [installed] a52dec: for a52 plugin [installed] faad2: for faad plugin [installed] flac: for flac plugin [installed] libdca: for dts (dca) plugin [installed] libmad: for mad (mp3) plugin libmpcdec: for mpc (musepack) plugin [installed] libmodplug: for modplug plugin [installed] wavpack: for wavpack plugin [installed] gdk-pixbuf2: for gdk_pixbuf plugin [installed] imagemagick: for imagemagick plugin [installed] libcaca: for caca plugin [installed] libmng: for mng plugin libnfs: for nfs plugin libssh2: for ssh plugin [installed] smbclient: for samba plugin installing xorg-fonts-encodings... installing libfontenc... installing libxfont2... installing libxkbfile... installing xorg-xkbcomp... installing xorg-setxkbmap... installing xorg-server-common... installing libice... installing libsm... installing libxt... installing libxmu... installing xorg-xauth... installing xorg-server-xvfb... :: Running post-transaction hooks... ( 1/11) Reloading system manager configuration... Skipped: Current root is not booted. ( 2/11) Reloading user manager configuration... Skipped: Current root is not booted. ( 3/11) Updating the MIME type database... ( 4/11) Reloading device manager configuration... Skipped: Current root is not booted. ( 5/11) Arming ConditionNeedsUpdate... ( 6/11) Reloading system bus configuration... Skipped: Current root is not booted. ( 7/11) Checking for old perl modules... ( 8/11) Updating fontconfig cache... ( 9/11) Updating icon theme caches... (10/11) Updating the info directory file... (11/11) Updating the desktop file MIME type cache... [?25h]3008;end=dd135b4f988c4576988e7843f1c01628\==>(B Retrieving sources...(B  ->(B Found quodlibet-4.7.1.tar.gz(B  ->(B Found quodlibet-4.7.1.tar.gz.sig(B  ->(B Found quodlibet-fix-executable-conflict.patch(B ==> WARNING:(B Skipping all source file integrity checks.(B ==>(B Extracting sources...(B  ->(B Extracting quodlibet-4.7.1.tar.gz with bsdtar(B ==>(B Starting prepare()...(B patching file pyproject.toml ==>(B Starting build()...(B * Getting build dependencies for wheel... /usr/lib/python3.14/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated !! ******************************************************************************** Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0). By 2027-Feb-18, you need to update your project and remove deprecated calls or your builds will no longer be supported. See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! corresp(dist, value, root_dir) no previously-included directories found matching 'docs/_build_guide' no previously-included directories found matching 'docs/_build_all' no previously-included directories found matching 'docs/_rtd_theme*' * Building wheel... /usr/lib/python3.14/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated !! ******************************************************************************** Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0). By 2027-Feb-18, you need to update your project and remove deprecated calls or your builds will no longer be supported. See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! corresp(dist, value, root_dir) no previously-included directories found matching 'docs/_build_guide' no previously-included directories found matching 'docs/_build_all' no previously-included directories found matching 'docs/_rtd_theme*' /usr/lib/python3.14/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'quodlibet.images' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'quodlibet.images' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'quodlibet.images' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'quodlibet.images' to be distributed and are already explicitly excluding 'quodlibet.images' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3.14/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'quodlibet.images.hicolor' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'quodlibet.images.hicolor' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'quodlibet.images.hicolor' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'quodlibet.images.hicolor' to be distributed and are already explicitly excluding 'quodlibet.images.hicolor' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3.14/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'quodlibet.images.hicolor.scalable.apps' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'quodlibet.images.hicolor.scalable.apps' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'quodlibet.images.hicolor.scalable.apps' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'quodlibet.images.hicolor.scalable.apps' to be distributed and are already explicitly excluding 'quodlibet.images.hicolor.scalable.apps' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3.14/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'quodlibet.images.hicolor.scalable.status' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'quodlibet.images.hicolor.scalable.status' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'quodlibet.images.hicolor.scalable.status' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'quodlibet.images.hicolor.scalable.status' to be distributed and are already explicitly excluding 'quodlibet.images.hicolor.scalable.status' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /build/quodlibet/src/quodlibet-4.7.1/gdist/gettextutil.py:196: GettextWarning: quodlibet/errorreport/ui.py:84: warning: Message contains an embedded URL. Better move it out of the translatable string, see https://www.gnu.org/software/gettext/manual/html_node/No-embedded-URLs.html quodlibet/ext/events/mpris/__init__.py:41: warning: Message contains an embedded URL. Better move it out of the translatable string, see https://www.gnu.org/software/gettext/manual/html_node/No-embedded-URLs.html quodlibet/ext/songsmenu/replaygain.py:583: warning: Message contains an embedded URL. Better move it out of the translatable string, see https://www.gnu.org/software/gettext/manual/html_node/No-embedded-URLs.html pot_path = _create_pot(potfiles_path, src_root) /build/quodlibet/src/quodlibet-4.7.1/gdist/gettextutil.py:196: GettextWarning: xgettext: warning: a fallback ITS rule file '/usr/share/gettext-1.0/its/metainfo.its' is used; it may not be in sync with the upstream xgettext: warning: a fallback ITS rule file '/usr/share/gettext-1.0/its/metainfo.its' is used; it may not be in sync with the upstream pot_path = _create_pot(potfiles_path, src_root) gtk-update-icon-cache: No theme index file. Successfully built quodlibet-4.7.1-py3-none-any.whl ==>(B Starting check()...(B /build/quodlibet/src/quodlibet-4.7.1/test-env/lib/python3.14/site-packages/quodlibet/util/winpipe.py:161: SyntaxWarning: 'break' in a 'finally' block break # noqa /build/quodlibet/src/quodlibet-4.7.1/test-env/lib/python3.14/site-packages/quodlibet/util/winpipe.py:161: SyntaxWarning: 'break' in a 'finally' block break # noqa ============================= test session starts ============================== platform linux -- Python 3.14.7, pytest-9.1.1, pluggy-1.6.0 -- /build/quodlibet/src/quodlibet-4.7.1/test-env/bin/python cachedir: .pytest_cache rootdir: /build/quodlibet/src/quodlibet-4.7.1 configfile: setup.cfg collecting ... collected 3423 items / 10 deselected / 3413 selected tests/plugin/test_albumart.py::TAlbumArt::testAlbumArtWindow PASSED [ 0%] tests/plugin/test_albumart.py::TAlbumArt::testCoverArea PASSED [ 0%] tests/plugin/test_bansheeimport.py::TBansheeImport::test PASSED [ 0%] tests/plugin/test_brainz.py::TBrainz::test_build_mbids_labelid SKIPPED [ 0%] tests/plugin/test_brainz.py::TBrainz::test_build_metadata SKIPPED [ 0%] tests/plugin/test_brainz.py::TBrainz::test_build_query SKIPPED (brainz plugin not loaded) [ 0%] tests/plugin/test_brainz.py::TBrainz::test_get_artist SKIPPED (brainz plugin not loaded) [ 0%] tests/plugin/test_brainz.py::TBrainz::test_get_trackcount SKIPPED [ 0%] tests/plugin/test_brainz.py::TBrainz::test_labelid SKIPPED (brainz plugin not loaded) [ 0%] tests/plugin/test_brainz.py::TBrainz::test_pregap SKIPPED (brainz plugin not loaded) [ 0%] tests/plugin/test_brainz.py::TBrainz::test_release SKIPPED (brainz plugin not loaded) [ 0%] tests/plugin/test_brainz.py::TBrainz::test_release_artist SKIPPED [ 0%] tests/plugin/test_brainz.py::TBrainz::test_release_tracks SKIPPED [ 0%] tests/plugin/test_clock.py::TClock::test_alarm PASSED [ 0%] tests/plugin/test_console.py::TConsole::test_console_completion PASSED [ 0%] tests/plugin/test_console.py::TConsole::test_sidebar_plugin PASSED [ 0%] tests/plugin/test_cover_download.py::TAlbumArt::test_cover_art_window PASSED [ 0%] tests/plugin/test_covers.py::TCovers::test_cover_path_discogs PASSED [ 0%] tests/plugin/test_covers.py::TCovers::test_cover_path_lastfm PASSED [ 0%] tests/plugin/test_covers.py::TCovers::test_cover_path_musicbrainz PASSED [ 0%] tests/plugin/test_covers.py::test_live_cover_download[lastfm-cover] ERROR: failed tests/plugin/test_covers.py::test_live_cover_download[lastfm-cover]: D: [0065.253] Query.__init__: Creating query '' D: [0065.263] qltk.completion.__build_model: Updating tag model for whole library D: [0065.267] qltk.completion.__build_model: Done updating tag model for whole library D: [0065.268] SongFileLibrary.rebuild: Rebuilding, force is False D: [0065.269] SongFileLibrary.rebuild: Removing 0, changing 0). W: [0066.226] HTTPRequest._sent: Failed sending GET request to https://ws.audioscrobbler.com/2.0?method=album.getinfo&api_key=107db6fd4c1c7f53b1526fafddab2c82&format=json&artist=The%20Beatles&album=Let%20It%20Be&mbid= (g-tls-error-quark: TLS support is not available (0)) FAILED [ 0%] tests/plugin/test_covers.py::test_live_cover_download[discogs-cover] ERROR: failed tests/plugin/test_covers.py::test_live_cover_download[discogs-cover]: W: [0077.561] HTTPRequest._sent: Failed sending GET request to https://api.discogs.com/database/search?key=aWfZGjHQvkMcreUECGAp&secret=VlORkklpdvAwJMwxUjNNSgqicjuizJAl&format=CD&per_page=5&type=release&artist=The%20Beatles&release_title=Let%20It%20Be (g-tls-error-quark: TLS support is not available (0)) FAILED [ 0%] tests/plugin/test_covers.py::test_live_cover_download[musicbrainz-cover] SKIPPED [ 0%] tests/plugin/test_custom_commands.py::TCustomCommands::test_JSONBasedEditor PASSED [ 0%] tests/plugin/test_custom_commands.py::TCustomCommands::test_playlist_plugin PASSED [ 0%] tests/plugin/test_custom_commands.py::TCustomCommands::test_plugin_loads_json_once PASSED [ 0%] tests/plugin/test_duplicates_browser.py::TDuplicates::test_starts_up PASSED [ 0%] tests/plugin/test_fingerprint.py::TFingerprint::test_analyze_pool PASSED [ 0%] tests/plugin/test_fingerprint.py::TFingerprint::test_analyze_silence PASSED [ 0%] tests/plugin/test_fingerprint.py::TAcoustidLookup::test_parse_response_1 PASSED [ 0%] tests/plugin/test_fingerprint.py::TAcoustidLookup::test_parse_response_2 PASSED [ 0%] tests/plugin/test_fingerprint.py::TAcoustidLookup::test_parse_response_2_mb PASSED [ 0%] tests/plugin/test_html.py::THTMLExport::test_empty_export PASSED [ 0%] tests/plugin/test_html.py::THTMLExport::test_export PASSED [ 0%] tests/plugin/test_makesorttags.py::TMakeSortTags::test_composer PASSED [ 1%] tests/plugin/test_makesorttags.py::TMakeSortTags::test_composer_artist PASSED [ 1%] tests/plugin/test_makesorttags.py::TMakeSortTags::test_multi_word PASSED [ 1%] tests/plugin/test_makesorttags.py::TMakeSortTags::test_no_blanks PASSED [ 1%] tests/plugin/test_makesorttags.py::TMakeSortTags::test_util_functions PASSED [ 1%] tests/plugin/test_mediaserver.py::TMediaServer::test_entry_name PASSED [ 1%] tests/plugin/test_mediaserver.py::TMediaServer::test_name_owner PASSED [ 1%] tests/plugin/test_mpdserver.py::TMPDServer::test_format_tags PASSED [ 1%] tests/plugin/test_mpdserver.py::TMPDServer::test_parse_command PASSED [ 1%] tests/plugin/test_mpdserver.py::TMPDCommands::test_commands PASSED [ 1%] tests/plugin/test_mpdserver.py::TMPDCommands::test_currentsong_length PASSED [ 1%] tests/plugin/test_mpdserver.py::TMPDCommands::test_idle_close PASSED [ 1%] tests/plugin/test_mpdserver.py::TMPDCommands::test_seekcur PASSED [ 1%] tests/plugin/test_mpdserver.py::TMPDCommands::test_tagtypes PASSED [ 1%] tests/plugin/test_mpris.py::TMPRIS::test_main ERROR: failed tests/plugin/test_mpris.py::TMPRIS::test_main: D: [0108.038] SongFileLibrary.__init__: Initializing SongFileLibrary: None W: [0108.226] Config.get: Config problem: No section: 'player' W: [0108.289] PluggableOrders.__init__: No plugin manager found W: [0108.306] PluggableOrders.__init__: No plugin manager found D: [0108.323] qltk.playorder.__compose_order: Updating PlaylistModel order to D: [0108.357] NullPlayer.go_to: Going to None D: [0108.357] PlaylistMux.go_to: Told to go to None D: [0108.357] PlaylistModel.go_to: Told to go to None D: [0108.504] Query.__init__: Creating query '' D: [0108.505] Query.__init__: Creating query '' D: [0108.524] qltk.window.__restore_state: Restore state D: [0108.525] qltk.window.__restore_position: Restore position D: [0108.525] qltk.window.__restore_size: Restore size D: [0108.528] Query.__init__: Creating query '' D: [0108.532] PlaylistModel.set: Filling view model with 0 songs. D: [0108.537] SongFileLibrary.rebuild: Rebuilding, force is False D: [0108.538] SongFileLibrary.rebuild: Removing 0, changing 0). D: [0108.548] PlaylistModel.set: Filling view model with 2 songs. D: [0108.551] NullPlayer.go_to: Going to None D: [0108.551] PlaylistMux.go_to: Told to go to None D: [0108.551] PlaylistModel.go_to: Told to go to None D: [0108.551] QueueModel.go_to: Told to go to None D: [0115.458] qltk.window.__restore_state: Restore state D: [0115.459] qltk.window.__restore_position: Restore position D: [0115.459] qltk.window.__restore_size: Restore size D: [0115.540] PlayQueue._write: Saving play queue after 7.5s D: [0115.542] qltk.queue.__destroy: Stopped autosave D: [0115.560] SongFileLibrary.stop_watching: Removing watches on 0 dirs FAILED [ 1%] tests/plugin/test_mpris.py::TMPRIS::test_metadata PASSED [ 1%] tests/plugin/test_mpris.py::TMPRIS::test_metadata_without_version_and_discsubtitle PASSED [ 1%] tests/plugin/test_mpris.py::TMPRIS::test_name_owner PASSED [ 1%] tests/plugin/test_mpris.py::TMPRIS::test_player PASSED [ 1%] tests/plugin/test_mpris.py::TMPRIS::test_volume_property PASSED [ 1%] tests/plugin/test_playlist.py::TPlaylistExport::test_m3u_playlist PASSED [ 1%] tests/plugin/test_playlist.py::TPlaylistExport::test_m3u_playlist_relative PASSED [ 1%] tests/plugin/test_playlist.py::TPlaylistExport::test_m3u_relative_path_starting_with_octothorpe PASSED [ 1%] tests/plugin/test_playlist.py::TPlaylistExport::test_pls_playlist PASSED [ 1%] tests/plugin/test_playlist.py::TPlaylistExport::test_pls_playlist_relative PASSED [ 1%] tests/plugin/test_prefs.py::TestPluginPrefs::test_prefs_detected PASSED [ 1%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[Duplicates] PASSED [ 1%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[ReplayGain] PASSED [ 1%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[ImportExportTagsAndTrackUserDataPlugin] PASSED [ 1%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[WebsiteSearch] PASSED [ 1%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[DownloadAlbumArt] PASSED [ 1%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[CustomCommands] PASSED [ 1%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[LastFMSync] PASSED [ 1%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[WikiSearch] PASSED [ 1%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[AcoustidSubmit] PASSED [ 2%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[TitleCase] PASSED [ 2%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[SessionInhibit] PASSED [ 2%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[QLScrobbler] PASSED [ 2%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[ThemeSwitcher] PASSED [ 2%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[Equalizer] PASSED [ 2%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[AutoUpdateTagsInFiles] PASSED [ 2%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[RBImport] PASSED [ 2%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[MediaServer] PASSED [ 2%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[ViewLyrics] PASSED [ 2%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[PictureSaver] PASSED [ 2%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[GajimStatusMessage] PASSED [ 2%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[BansheeImport] PASSED [ 2%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[TelepathyStatusPlugin] PASSED [ 2%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[LanguagePreference] PASSED [ 2%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[Alarm] PASSED [ 2%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[Lullaby] PASSED [ 2%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[Notify] PASSED [ 2%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[ProjectM] PASSED [ 2%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[RandomAlbum] PASSED [ 2%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[WaveformSeekBarPlugin] PASSED [ 2%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[SynchronizedLyrics] PASSED [ 2%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[SeekPointsPlugin] PASSED [ 2%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[StopOnPause] PASSED [ 2%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[AppInformation] PASSED [ 2%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[SyncToDevice] PASSED [ 2%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[MPRIS] PASSED [ 2%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[ListenbrainzSubmission] PASSED [ 2%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[TrayIconPlugin] PASSED [ 2%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[AnimOsd] PASSED [ 2%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[MPDServerPlugin] PASSED [ 2%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[PlaycountEqualizer] PASSED [ 2%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[SkipDisliked] PASSED [ 2%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[ShuffleByGrouping] PASSED [ 2%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[QueueOrder] PASSED [ 3%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[TrackRepeatOrder] PASSED [ 3%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[Crossfeed] PASSED [ 3%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[Compressor] PASSED [ 3%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[Pitch] PASSED [ 3%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[Karaoke] PASSED [ 3%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[ExportToFolder] PASSED [ 3%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[ConditionalQuery] PASSED [ 3%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[IncludeSavedSearchQuery] PASSED [ 3%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[MissingQuery] PASSED [ 3%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[UniqueQuery] PASSED [ 3%] tests/plugin/test_prefs.py::TestPluginPrefs::test_plugin_pref[PythonQuery] PASSED [ 3%] tests/plugin/test_query.py::TQueryPlugins::test_conditional PASSED [ 3%] tests/plugin/test_query.py::TQueryPlugins::test_handler PASSED [ 3%] tests/plugin/test_query.py::TQueryPlugins::test_python_expression PASSED [ 3%] tests/plugin/test_query.py::TQueryPlugins::test_savedsearch PASSED [ 3%] tests/plugin/test_randomalbum.py::TRandomAlbum::test_empty_integration PASSED [ 3%] tests/plugin/test_randomalbum.py::TRandomAlbum::test_empty_integration_weighted PASSED [ 3%] tests/plugin/test_randomalbum.py::TRandomAlbum::test_score_lastplayed PASSED [ 3%] tests/plugin/test_randomalbum.py::TRandomAlbum::test_score_lastplayed_added PASSED [ 3%] tests/plugin/test_randomalbum.py::TRandomAlbum::test_score_length PASSED [ 3%] tests/plugin/test_randomalbum.py::TRandomAlbum::test_score_mixed PASSED [ 3%] tests/plugin/test_randomalbum.py::TRandomAlbum::test_score_rating PASSED [ 3%] tests/plugin/test_rbimport.py::TRBImport::test PASSED [ 3%] tests/plugin/test_replaygain.py::TReplayGain::test_RGAlbum_properties PASSED [ 3%] tests/plugin/test_replaygain.py::TReplayGain::test_RGSong_properties PASSED [ 3%] tests/plugin/test_replaygain.py::TReplayGain::test_RGSong_zero PASSED [ 3%] tests/plugin/test_replaygain.py::TReplayGain::test_analyze_silence PASSED [ 3%] tests/plugin/test_replaygain.py::TReplayGain::test_analyze_sinewave ERROR: failed tests/plugin/test_replaygain.py::TReplayGain::test_analyze_sinewave: E: [0199.014] ReplayGainPipeline._bus_message: Your GStreamer installation is missing a plug-in. E: [0199.015] ReplayGainPipeline._bus_message: ../gstreamer/subprojects/gst-plugins-base/gst/playback/gsturidecodebin.c(1070): no_more_pads_full (): /GstPipeline:pipeline3/GstURIDecodeBin:decode: no suitable plugins found: ../gstreamer/subprojects/gst-plugins-base/gst/playback/gstdecodebin2.c(4736): gst_decode_bin_expose (): /GstPipeline:pipeline3/GstURIDecodeBin:decode/GstDecodeBin:decodebin3: no suitable plugins found: Missing decoder: Free Lossless Audio Codec (FLAC) (audio/x-flac, channels=(int)1, framed=(boolean)true, rate=(int)44100, streamheader=(buffer)< 7f464c414301000002664c614300000022100010000005d5000b0b0ac440f0000158888222c2df8c846f810f056491915a6214, 8400009f200000007265666572656e6365206c6962464c414320312e332e30203230313330353236060000000d000000545241434b4e554d4245523d310b000000414c42554d3d5465737473110000004152544953543d51756f64204c6962657409000000444154453d32303134160000005449544c453d313130487a207465737420747261636b17000000434f4d4d454e54533d204e69636b20426f756c74626565 >) FAILED [ 3%] tests/plugin/test_replaygain.py::TReplayGain::test_delete_bs1770gain PASSED [ 3%] tests/plugin/test_replaygain.py::TRGDialog::test_some_songs_needing_update PASSED [ 3%] tests/plugin/test_scrobbler.py::TScrobbler::test_autosave PASSED [ 3%] tests/plugin/test_scrobbler.py::TScrobbler::test_enabled_disabled PASSED [ 3%] tests/plugin/test_scrobbler.py::TScrobbler::test_queue PASSED [ 3%] tests/plugin/test_seekbar.py::TSeekBar::test_create PASSED [ 4%] tests/plugin/test_songsmenu.py::TPluginsSongsMenu::test_handle_single SKIPPED whilst we don't have unit tests for all plugins.) [ 4%] tests/plugin/test_songsmenu.py::TPluginsSongsMenu::test_handles_albums PASSED [ 4%] tests/plugin/test_songsmenu.py::TPluginsSongsMenu::test_init PASSED [ 4%] tests/plugin/test_style.py::TPluginStyle::test_plugin_desc PASSED [ 4%] tests/plugin/test_style.py::TPluginStyle::test_plugin_name PASSED [ 4%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_destination_path_changed PASSED [ 4%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_export_pattern_changed PASSED [ 4%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_pluginpreferences_missing_saved_queries_file PASSED [ 4%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_pluginpreferences_no_saved_queries PASSED [ 4%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_pluginpreferences_success PASSED [ 4%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_preview_sync_twice PASSED [ 4%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_row_edited_delete_to_delete PASSED [ 4%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_row_edited_delete_to_duplicate PASSED [ 4%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_row_edited_delete_to_empty PASSED [ 4%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_row_edited_delete_to_unique PASSED [ 4%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_row_edited_duplicate_to_delete PASSED [ 4%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_row_edited_duplicate_to_duplicate PASSED [ 4%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_row_edited_duplicate_to_empty PASSED [ 4%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_row_edited_duplicate_to_unique PASSED [ 4%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_row_edited_empty_to_delete PASSED [ 4%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_row_edited_empty_to_duplicate PASSED [ 4%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_row_edited_empty_to_empty PASSED [ 4%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_row_edited_empty_to_unique PASSED [ 4%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_row_edited_others_duplicate_to_unique_multiple PASSED [ 4%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_row_edited_others_duplicate_to_unique_single PASSED [ 4%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_row_edited_unique_to_delete PASSED [ 4%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_row_edited_unique_to_duplicate PASSED [ 4%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_row_edited_unique_to_empty PASSED [ 4%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_row_edited_unique_to_unique PASSED [ 4%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_select_saved_search PASSED [ 4%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_start_preview_destination_in_pattern PASSED [ 4%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_start_preview_export_path_check PASSED [ 4%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_start_preview_export_path_not_absolute PASSED [ 4%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_start_preview_file_deletion PASSED [ 5%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_start_preview_no_destination_path PASSED [ 5%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_start_preview_no_export_pattern PASSED [ 5%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_start_preview_no_searches_selected PASSED [ 5%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_start_preview_no_songs PASSED [ 5%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_start_preview_path_pattern_mismatch PASSED [ 5%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_start_preview_pattern_custom_text PASSED [ 5%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_start_preview_queries_artists PASSED [ 5%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_start_preview_queries_directory PASSED [ 5%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_start_preview_queries_multiple PASSED [ 5%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_start_preview_query_and_file_deletion PASSED [ 5%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_start_preview_unicode_basic_latin PASSED [ 5%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_start_preview_unicode_other_symbols PASSED [ 5%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_start_preview_unicode_various_languages PASSED [ 5%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_start_sync_basic_success PASSED [ 5%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_start_sync_complex_success PASSED [ 5%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_start_sync_deletion PASSED [ 5%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_start_sync_deletion_with_dirs PASSED [ 5%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_start_sync_duplicates PASSED [ 5%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_start_sync_failures PASSED [ 5%] tests/plugin/test_synchronize_to_device.py::TSyncToDevice::test_start_sync_twice PASSED [ 5%] tests/plugin/test_synchronizedlyrics.py::TSynchronizedlyrics::test_build_data_for_munged_name PASSED [ 5%] tests/plugin/test_synchronizedlyrics.py::TSynchronizedlyrics::test_build_data_for_no_song PASSED [ 5%] tests/plugin/test_synchronizedlyrics.py::TSynchronizedlyrics::test_empty_parsing PASSED [ 5%] tests/plugin/test_synchronizedlyrics.py::TSynchronizedlyrics::test_lrc_parsing PASSED [ 5%] tests/plugin/test_test_plugins.py::TTestPlugins::test_pickle PASSED [ 5%] tests/plugin/test_titlecase.py::TTitlecase::test_all_caps PASSED [ 5%] tests/plugin/test_titlecase.py::TTitlecase::test_humanise PASSED [ 5%] tests/plugin/test_titlecase.py::TTitlecase::test_no_all_caps PASSED [ 5%] tests/plugin/test_trayicon.py::TTrayIcon::test_enable_disable PASSED [ 5%] tests/plugin/test_trayicon.py::TTrayIcon::test_get_paused_pixbuf PASSED [ 5%] tests/plugin/test_trayicon.py::TTrayIcon::test_new_with_paused_emblem PASSED [ 5%] tests/plugin/test_trayicon.py::TTrayIcon::test_popup_menu PASSED [ 5%] tests/plugin/test_trayicon.py::TIndicatorMenu::test_icons PASSED [ 5%] tests/plugin/test_trayicon.py::TIndicatorMenu::test_playlist_menu_populates PASSED [ 6%] tests/plugin/test_viewlyrics.py::TViewlyrics::test_no_song_started PASSED [ 6%] tests/plugin/test_viewlyrics.py::TViewlyrics::test_on_changed PASSED [ 6%] tests/plugin/test_viewlyrics.py::TViewlyrics::test_on_changed_stopped PASSED [ 6%] tests/plugin/test_viewlyrics.py::TViewlyrics::test_song_started PASSED [ 6%] tests/plugin/test_viewlyrics.py::TViewlyrics::test_startup_playing_then_edit PASSED [ 6%] tests/plugin/test_viewlyrics.py::TViewlyrics::test_timestamp_hiding PASSED [ 6%] tests/plugin/test_waveformseekbar.py::TWaveformSeekBar::test_main PASSED [ 6%] tests/plugin/test_waveformseekbar.py::TWaveformSeekBar::test_no_gstreamer_rms PASSED [ 6%] tests/plugin/test_website_search.py::TWebsiteSearch::test_full PASSED [ 6%] tests/plugin/test_website_search.py::TWebsiteSearch::test_website_for PASSED [ 6%] tests/plugin/test_website_search.py::TWebsiteSearch::test_website_for_dirname PASSED [ 6%] tests/plugin/test_website_search.py::TWebsiteSearch::test_website_for_website PASSED [ 6%] tests/test___init__.py::TQuodlibet::test_dirs PASSED [ 6%] tests/test___init__.py::TQuodlibet::test_first_session PASSED [ 6%] tests/test___init__.py::TQuodlibet::test_get_build_description PASSED [ 6%] tests/test___init__.py::TQuodlibet::test_get_build_version PASSED [ 6%] tests/test___init__.py::TVersion::test_message PASSED [ 6%] tests/test_appdata_files.py::TQLAppDataFile::test_filename SKIPPED [ 6%] tests/test_appdata_files.py::TQLAppDataFile::test_validate SKIPPED [ 6%] tests/test_appdata_files.py::TEFAppDataFile::test_filename SKIPPED [ 6%] tests/test_appdata_files.py::TEFAppDataFile::test_validate SKIPPED [ 6%] tests/test_browsers___init__.py::TBrowsers::test_default PASSED [ 6%] tests/test_browsers___init__.py::TBrowsers::test_get PASSED [ 6%] tests/test_browsers___init__.py::TBrowsers::test_get_invalid PASSED [ 6%] tests/test_browsers___init__.py::TBrowsers::test_get_podcasts_aka_feeds PASSED [ 6%] tests/test_browsers___init__.py::TBrowsers::test_index PASSED [ 6%] tests/test_browsers___init__.py::TBrowsers::test_index_invalid PASSED [ 6%] tests/test_browsers___init__.py::TBrowsers::test_migrate PASSED [ 6%] tests/test_browsers___init__.py::TBrowsers::test_name PASSED [ 6%] tests/test_browsers___init__.py::TBrowsers::test_old_names PASSED [ 6%] tests/test_browsers___init__.py::TBrowsers::test_presence PASSED [ 6%] tests/test_browsers__base.py::TBrowser::test_can_filter PASSED [ 6%] tests/test_browsers__base.py::TBrowser::test_defaults PASSED [ 6%] tests/test_browsers__base.py::TBrowser::test_status_bar PASSED [ 7%] tests/test_browsers__base.py::TFakeDisplayItem::test_call PASSED [ 7%] tests/test_browsers__base.py::TFakeDisplayItem::test_comma PASSED [ 7%] tests/test_browsers__base.py::TFakeDisplayItem::test_get PASSED [ 7%] tests/test_browsers__base.py::TDisplayPatternMixin::test_loading_pattern PASSED [ 7%] tests/test_browsers__base.py::TDisplayPatternMixin::test_markup PASSED [ 7%] tests/test_browsers__base.py::TDisplayPatternMixin::test_updating_pattern PASSED [ 7%] tests/test_browsers__base.py::new_test::test_active_filter PASSED [ 7%] tests/test_browsers__base.py::new_test::test_cover_art_changed PASSED [ 7%] tests/test_browsers__base.py::new_test::test_filter_albums PASSED [ 7%] tests/test_browsers__base.py::new_test::test_filter_other PASSED [ 7%] tests/test_browsers__base.py::new_test::test_filter_text PASSED [ 7%] tests/test_browsers__base.py::new_test::test_filters_caps PASSED [ 7%] tests/test_browsers__base.py::new_test::test_get_filter_text PASSED [ 7%] tests/test_browsers__base.py::new_test::test_init PASSED [ 7%] tests/test_browsers__base.py::new_test::test_key PASSED [ 7%] tests/test_browsers__base.py::new_test::test_menu PASSED [ 7%] tests/test_browsers__base.py::new_test::test_msic PASSED [ 7%] tests/test_browsers__base.py::new_test::test_name PASSED [ 7%] tests/test_browsers__base.py::new_test::test_pack_noshow_songpane PASSED [ 7%] tests/test_browsers__base.py::new_test::test_pack_unpack PASSED [ 7%] tests/test_browsers__base.py::new_test::test_save_restore PASSED [ 7%] tests/test_browsers__base.py::TBTrackList::test_active_filter PASSED [ 7%] tests/test_browsers__base.py::TBTrackList::test_cover_art_changed PASSED [ 7%] tests/test_browsers__base.py::TBTrackList::test_filter_albums PASSED [ 7%] tests/test_browsers__base.py::TBTrackList::test_filter_other PASSED [ 7%] tests/test_browsers__base.py::TBTrackList::test_filter_text PASSED [ 7%] tests/test_browsers__base.py::TBTrackList::test_filters_caps PASSED [ 7%] tests/test_browsers__base.py::TBTrackList::test_get_filter_text PASSED [ 7%] tests/test_browsers__base.py::TBTrackList::test_init PASSED [ 7%] tests/test_browsers__base.py::TBTrackList::test_key PASSED [ 7%] tests/test_browsers__base.py::TBTrackList::test_menu PASSED [ 7%] tests/test_browsers__base.py::TBTrackList::test_msic PASSED [ 7%] tests/test_browsers__base.py::TBTrackList::test_name PASSED [ 7%] tests/test_browsers__base.py::TBTrackList::test_pack_noshow_songpane PASSED [ 7%] tests/test_browsers__base.py::TBTrackList::test_pack_unpack PASSED [ 8%] tests/test_browsers__base.py::TBTrackList::test_save_restore PASSED [ 8%] tests/test_browsers__base.py::TBPlaylistsBrowser::test_active_filter PASSED [ 8%] tests/test_browsers__base.py::TBPlaylistsBrowser::test_cover_art_changed PASSED [ 8%] tests/test_browsers__base.py::TBPlaylistsBrowser::test_filter_albums PASSED [ 8%] tests/test_browsers__base.py::TBPlaylistsBrowser::test_filter_other PASSED [ 8%] tests/test_browsers__base.py::TBPlaylistsBrowser::test_filter_text PASSED [ 8%] tests/test_browsers__base.py::TBPlaylistsBrowser::test_filters_caps PASSED [ 8%] tests/test_browsers__base.py::TBPlaylistsBrowser::test_get_filter_text PASSED [ 8%] tests/test_browsers__base.py::TBPlaylistsBrowser::test_init PASSED [ 8%] tests/test_browsers__base.py::TBPlaylistsBrowser::test_key PASSED [ 8%] tests/test_browsers__base.py::TBPlaylistsBrowser::test_menu PASSED [ 8%] tests/test_browsers__base.py::TBPlaylistsBrowser::test_msic PASSED [ 8%] tests/test_browsers__base.py::TBPlaylistsBrowser::test_name PASSED [ 8%] tests/test_browsers__base.py::TBPlaylistsBrowser::test_pack_noshow_songpane PASSED [ 8%] tests/test_browsers__base.py::TBPlaylistsBrowser::test_pack_unpack PASSED [ 8%] tests/test_browsers__base.py::TBPlaylistsBrowser::test_save_restore PASSED [ 8%] tests/test_browsers__base.py::TBPanedBrowser::test_active_filter PASSED [ 8%] tests/test_browsers__base.py::TBPanedBrowser::test_cover_art_changed PASSED [ 8%] tests/test_browsers__base.py::TBPanedBrowser::test_filter_albums PASSED [ 8%] tests/test_browsers__base.py::TBPanedBrowser::test_filter_other PASSED [ 8%] tests/test_browsers__base.py::TBPanedBrowser::test_filter_text PASSED [ 8%] tests/test_browsers__base.py::TBPanedBrowser::test_filters_caps PASSED [ 8%] tests/test_browsers__base.py::TBPanedBrowser::test_get_filter_text PASSED [ 8%] tests/test_browsers__base.py::TBPanedBrowser::test_init PASSED [ 8%] tests/test_browsers__base.py::TBPanedBrowser::test_key PASSED [ 8%] tests/test_browsers__base.py::TBPanedBrowser::test_menu PASSED [ 8%] tests/test_browsers__base.py::TBPanedBrowser::test_msic PASSED [ 8%] tests/test_browsers__base.py::TBPanedBrowser::test_name PASSED [ 8%] tests/test_browsers__base.py::TBPanedBrowser::test_pack_noshow_songpane PASSED [ 8%] tests/test_browsers__base.py::TBPanedBrowser::test_pack_unpack PASSED [ 8%] tests/test_browsers__base.py::TBPanedBrowser::test_save_restore PASSED [ 8%] tests/test_browsers__base.py::TBAlbumList::test_active_filter PASSED [ 8%] tests/test_browsers__base.py::TBAlbumList::test_cover_art_changed PASSED [ 8%] tests/test_browsers__base.py::TBAlbumList::test_filter_albums PASSED [ 9%] tests/test_browsers__base.py::TBAlbumList::test_filter_other PASSED [ 9%] tests/test_browsers__base.py::TBAlbumList::test_filter_text PASSED [ 9%] tests/test_browsers__base.py::TBAlbumList::test_filters_caps PASSED [ 9%] tests/test_browsers__base.py::TBAlbumList::test_get_filter_text PASSED [ 9%] tests/test_browsers__base.py::TBAlbumList::test_init PASSED [ 9%] tests/test_browsers__base.py::TBAlbumList::test_key PASSED [ 9%] tests/test_browsers__base.py::TBAlbumList::test_menu PASSED [ 9%] tests/test_browsers__base.py::TBAlbumList::test_msic PASSED [ 9%] tests/test_browsers__base.py::TBAlbumList::test_name PASSED [ 9%] tests/test_browsers__base.py::TBAlbumList::test_pack_noshow_songpane PASSED [ 9%] tests/test_browsers__base.py::TBAlbumList::test_pack_unpack PASSED [ 9%] tests/test_browsers__base.py::TBAlbumList::test_save_restore PASSED [ 9%] tests/test_browsers__base.py::TBCoverGrid::test_active_filter PASSED [ 9%] tests/test_browsers__base.py::TBCoverGrid::test_cover_art_changed PASSED [ 9%] tests/test_browsers__base.py::TBCoverGrid::test_filter_albums PASSED [ 9%] tests/test_browsers__base.py::TBCoverGrid::test_filter_other PASSED [ 9%] tests/test_browsers__base.py::TBCoverGrid::test_filter_text PASSED [ 9%] tests/test_browsers__base.py::TBCoverGrid::test_filters_caps PASSED [ 9%] tests/test_browsers__base.py::TBCoverGrid::test_get_filter_text PASSED [ 9%] tests/test_browsers__base.py::TBCoverGrid::test_init PASSED [ 9%] tests/test_browsers__base.py::TBCoverGrid::test_key PASSED [ 9%] tests/test_browsers__base.py::TBCoverGrid::test_menu PASSED [ 9%] tests/test_browsers__base.py::TBCoverGrid::test_msic PASSED [ 9%] tests/test_browsers__base.py::TBCoverGrid::test_name PASSED [ 9%] tests/test_browsers__base.py::TBCoverGrid::test_pack_noshow_songpane PASSED [ 9%] tests/test_browsers__base.py::TBCoverGrid::test_pack_unpack PASSED [ 9%] tests/test_browsers__base.py::TBCoverGrid::test_save_restore PASSED [ 9%] tests/test_browsers__base.py::TBCollectionBrowser::test_active_filter PASSED [ 9%] tests/test_browsers__base.py::TBCollectionBrowser::test_cover_art_changed PASSED [ 9%] tests/test_browsers__base.py::TBCollectionBrowser::test_filter_albums PASSED [ 9%] tests/test_browsers__base.py::TBCollectionBrowser::test_filter_other PASSED [ 9%] tests/test_browsers__base.py::TBCollectionBrowser::test_filter_text PASSED [ 9%] tests/test_browsers__base.py::TBCollectionBrowser::test_filters_caps PASSED [ 9%] tests/test_browsers__base.py::TBCollectionBrowser::test_get_filter_text PASSED [ 10%] tests/test_browsers__base.py::TBCollectionBrowser::test_init PASSED [ 10%] tests/test_browsers__base.py::TBCollectionBrowser::test_key PASSED [ 10%] tests/test_browsers__base.py::TBCollectionBrowser::test_menu PASSED [ 10%] tests/test_browsers__base.py::TBCollectionBrowser::test_msic PASSED [ 10%] tests/test_browsers__base.py::TBCollectionBrowser::test_name PASSED [ 10%] tests/test_browsers__base.py::TBCollectionBrowser::test_pack_noshow_songpane PASSED [ 10%] tests/test_browsers__base.py::TBCollectionBrowser::test_pack_unpack PASSED [ 10%] tests/test_browsers__base.py::TBCollectionBrowser::test_save_restore PASSED [ 10%] tests/test_browsers__base.py::TBFileSystem::test_active_filter PASSED [ 10%] tests/test_browsers__base.py::TBFileSystem::test_cover_art_changed PASSED [ 10%] tests/test_browsers__base.py::TBFileSystem::test_filter_albums PASSED [ 10%] tests/test_browsers__base.py::TBFileSystem::test_filter_other PASSED [ 10%] tests/test_browsers__base.py::TBFileSystem::test_filter_text PASSED [ 10%] tests/test_browsers__base.py::TBFileSystem::test_filters_caps PASSED [ 10%] tests/test_browsers__base.py::TBFileSystem::test_get_filter_text PASSED [ 10%] tests/test_browsers__base.py::TBFileSystem::test_init PASSED [ 10%] tests/test_browsers__base.py::TBFileSystem::test_key PASSED [ 10%] tests/test_browsers__base.py::TBFileSystem::test_menu PASSED [ 10%] tests/test_browsers__base.py::TBFileSystem::test_msic PASSED [ 10%] tests/test_browsers__base.py::TBFileSystem::test_name PASSED [ 10%] tests/test_browsers__base.py::TBFileSystem::test_pack_noshow_songpane PASSED [ 10%] tests/test_browsers__base.py::TBFileSystem::test_pack_unpack PASSED [ 10%] tests/test_browsers__base.py::TBFileSystem::test_save_restore PASSED [ 10%] tests/test_browsers__base.py::TBInternetRadio::test_active_filter PASSED [ 10%] tests/test_browsers__base.py::TBInternetRadio::test_cover_art_changed PASSED [ 10%] tests/test_browsers__base.py::TBInternetRadio::test_filter_albums PASSED [ 10%] tests/test_browsers__base.py::TBInternetRadio::test_filter_other PASSED [ 10%] tests/test_browsers__base.py::TBInternetRadio::test_filter_text PASSED [ 10%] tests/test_browsers__base.py::TBInternetRadio::test_filters_caps PASSED [ 10%] tests/test_browsers__base.py::TBInternetRadio::test_get_filter_text PASSED [ 10%] tests/test_browsers__base.py::TBInternetRadio::test_init PASSED [ 10%] tests/test_browsers__base.py::TBInternetRadio::test_key PASSED [ 10%] tests/test_browsers__base.py::TBInternetRadio::test_menu PASSED [ 10%] tests/test_browsers__base.py::TBInternetRadio::test_msic PASSED [ 11%] tests/test_browsers__base.py::TBInternetRadio::test_name PASSED [ 11%] tests/test_browsers__base.py::TBInternetRadio::test_pack_noshow_songpane PASSED [ 11%] tests/test_browsers__base.py::TBInternetRadio::test_pack_unpack PASSED [ 11%] tests/test_browsers__base.py::TBInternetRadio::test_save_restore PASSED [ 11%] tests/test_browsers__base.py::TBPodcasts::test_active_filter PASSED [ 11%] tests/test_browsers__base.py::TBPodcasts::test_cover_art_changed PASSED [ 11%] tests/test_browsers__base.py::TBPodcasts::test_filter_albums PASSED [ 11%] tests/test_browsers__base.py::TBPodcasts::test_filter_other PASSED [ 11%] tests/test_browsers__base.py::TBPodcasts::test_filter_text PASSED [ 11%] tests/test_browsers__base.py::TBPodcasts::test_filters_caps PASSED [ 11%] tests/test_browsers__base.py::TBPodcasts::test_get_filter_text PASSED [ 11%] tests/test_browsers__base.py::TBPodcasts::test_init PASSED [ 11%] tests/test_browsers__base.py::TBPodcasts::test_key PASSED [ 11%] tests/test_browsers__base.py::TBPodcasts::test_menu PASSED [ 11%] tests/test_browsers__base.py::TBPodcasts::test_msic PASSED [ 11%] tests/test_browsers__base.py::TBPodcasts::test_name PASSED [ 11%] tests/test_browsers__base.py::TBPodcasts::test_pack_noshow_songpane PASSED [ 11%] tests/test_browsers__base.py::TBPodcasts::test_pack_unpack PASSED [ 11%] tests/test_browsers__base.py::TBPodcasts::test_save_restore PASSED [ 11%] tests/test_browsers__base.py::TBSoundcloudBrowser::test_active_filter PASSED [ 11%] tests/test_browsers__base.py::TBSoundcloudBrowser::test_cover_art_changed PASSED [ 11%] tests/test_browsers__base.py::TBSoundcloudBrowser::test_filter_albums PASSED [ 11%] tests/test_browsers__base.py::TBSoundcloudBrowser::test_filter_other PASSED [ 11%] tests/test_browsers__base.py::TBSoundcloudBrowser::test_filter_text PASSED [ 11%] tests/test_browsers__base.py::TBSoundcloudBrowser::test_filters_caps PASSED [ 11%] tests/test_browsers__base.py::TBSoundcloudBrowser::test_get_filter_text PASSED [ 11%] tests/test_browsers__base.py::TBSoundcloudBrowser::test_init PASSED [ 11%] tests/test_browsers__base.py::TBSoundcloudBrowser::test_key PASSED [ 11%] tests/test_browsers__base.py::TBSoundcloudBrowser::test_menu PASSED [ 11%] tests/test_browsers__base.py::TBSoundcloudBrowser::test_msic PASSED [ 11%] tests/test_browsers__base.py::TBSoundcloudBrowser::test_name PASSED [ 11%] tests/test_browsers__base.py::TBSoundcloudBrowser::test_pack_noshow_songpane PASSED [ 11%] tests/test_browsers__base.py::TBSoundcloudBrowser::test_pack_unpack PASSED [ 11%] tests/test_browsers__base.py::TBSoundcloudBrowser::test_save_restore PASSED [ 12%] tests/test_browsers_albums.py::TAlbumPrefs::test_main PASSED [ 12%] tests/test_browsers_albums.py::TAlbumSort::test_sort_artist PASSED [ 12%] tests/test_browsers_albums.py::TAlbumSort::test_sort_date PASSED [ 12%] tests/test_browsers_albums.py::TAlbumSort::test_sort_genre PASSED [ 12%] tests/test_browsers_albums.py::TAlbumSort::test_sort_original_date PASSED [ 12%] tests/test_browsers_albums.py::TAlbumSort::test_sort_rating PASSED [ 12%] tests/test_browsers_albums.py::TAlbumSort::test_sort_title PASSED [ 12%] tests/test_browsers_albums.py::TAlbumBrowser::test_activated PASSED [ 12%] tests/test_browsers_albums.py::TAlbumBrowser::test_active_filter PASSED [ 12%] tests/test_browsers_albums.py::TAlbumBrowser::test_can_filter PASSED [ 12%] tests/test_browsers_albums.py::TAlbumBrowser::test_default_display_pattern PASSED [ 12%] tests/test_browsers_albums.py::TAlbumBrowser::test_filter_album PASSED [ 12%] tests/test_browsers_albums.py::TAlbumBrowser::test_filter_artist PASSED [ 12%] tests/test_browsers_albums.py::TAlbumBrowser::test_header PASSED [ 12%] tests/test_browsers_albums.py::TAlbumBrowser::test_list PASSED [ 12%] tests/test_browsers_albums.py::TAlbumBrowser::test_set_text PASSED [ 12%] tests/test_browsers_collection.py::TCollectionPreferences::test_headers PASSED [ 12%] tests/test_browsers_collection.py::TCollectionPreferences::test_pref_dialog PASSED [ 12%] tests/test_browsers_collection.py::TCollectionAlbums::test_build_tree PASSED [ 12%] tests/test_browsers_collection.py::TCollectionAlbums::test_build_tree_merge PASSED [ 12%] tests/test_browsers_collection.py::TCollectionAlbums::test_model PASSED [ 12%] tests/test_browsers_collection.py::TCollectionAlbums::test_utils PASSED [ 12%] tests/test_browsers_collection.py::TCollectionBrowser::test_init PASSED [ 12%] tests/test_browsers_covergrid.py::TCoverGridBrowser::test_activated PASSED [ 12%] tests/test_browsers_covergrid.py::TCoverGridBrowser::test_active_filter PASSED [ 12%] tests/test_browsers_covergrid.py::TCoverGridBrowser::test_can_filter PASSED [ 12%] tests/test_browsers_covergrid.py::TCoverGridBrowser::test_default_display_pattern PASSED [ 12%] tests/test_browsers_covergrid.py::TCoverGridBrowser::test_filter_album PASSED [ 12%] tests/test_browsers_covergrid.py::TCoverGridBrowser::test_filter_artist PASSED [ 12%] tests/test_browsers_covergrid.py::TCoverGridBrowser::test_header PASSED [ 12%] tests/test_browsers_covergrid.py::TCoverGridBrowser::test_list PASSED [ 12%] tests/test_browsers_covergrid.py::TCoverGridBrowser::test_set_text PASSED [ 12%] tests/test_browsers_filesystem.py::TestFileSystem::test_can_filter PASSED [ 12%] tests/test_browsers_iradio.py::test_parse_taglist PASSED [ 13%] tests/test_browsers_iradio.py::test_parse_pls PASSED [ 13%] tests/test_browsers_iradio.py::test_parse_m3u PASSED [ 13%] tests/test_browsers_iradio.py::TQuestionBar::test_main PASSED [ 13%] tests/test_browsers_iradio.py::TInternetRadio::test_can_filter PASSED [ 13%] tests/test_browsers_iradio.py::TInternetRadio::test_click_add_station PASSED [ 13%] tests/test_browsers_iradio.py::TInternetRadio::test_status_bar_text PASSED [ 13%] tests/test_browsers_iradio.py::TIRFile::test_dump_to_file PASSED [ 13%] tests/test_browsers_iradio.py::TIRFile::test_format PASSED [ 13%] tests/test_browsers_iradio.py::TIRFile::test_organisation PASSED [ 13%] tests/test_browsers_iradio.py::TIRFile::test_people PASSED [ 13%] tests/test_browsers_iradio.py::TIRFile::test_title_split PASSED [ 13%] tests/test_browsers_iradio.py::TIRFile::test_title_split_stream PASSED [ 13%] tests/test_browsers_iradio.py::TIRFile::test_website PASSED [ 13%] tests/test_browsers_iradio.py::TIRFile::testcan_write PASSED [ 13%] tests/test_browsers_iradio.py::test_download_tags PASSED [ 13%] tests/test_browsers_paned.py::TPanedBrowser::test_can_filter PASSED [ 13%] tests/test_browsers_paned.py::TPanedBrowser::test_column_mode PASSED [ 13%] tests/test_browsers_paned.py::TPanedBrowser::test_filter_notvalue PASSED [ 13%] tests/test_browsers_paned.py::TPanedBrowser::test_filter_text PASSED [ 13%] tests/test_browsers_paned.py::TPanedBrowser::test_filter_value PASSED [ 13%] tests/test_browsers_paned.py::TPanedBrowser::test_get_set_headers PASSED [ 13%] tests/test_browsers_paned.py::TPanedBrowser::test_make_pane_widths_equal PASSED [ 13%] tests/test_browsers_paned.py::TPanedBrowser::test_numeric_config_search PASSED [ 13%] tests/test_browsers_paned.py::TPanedBrowser::test_pack PASSED [ 13%] tests/test_browsers_paned.py::TPanedBrowser::test_restore PASSED [ 13%] tests/test_browsers_paned.py::TPanedBrowser::test_restore_entry_text PASSED [ 13%] tests/test_browsers_paned.py::TPanedBrowser::test_restore_pane_width PASSED [ 13%] tests/test_browsers_paned.py::TPanedBrowser::test_restore_selection PASSED [ 13%] tests/test_browsers_paned.py::TPanedBrowser::test_set_all_panes PASSED [ 13%] tests/test_browsers_paned.py::TPaneConfig::test_condition PASSED [ 13%] tests/test_browsers_paned.py::TPaneConfig::test_group PASSED [ 13%] tests/test_browsers_paned.py::TPaneConfig::test_numeric PASSED [ 13%] tests/test_browsers_paned.py::TPaneConfig::test_pattern PASSED [ 13%] tests/test_browsers_paned.py::TPaneConfig::test_tag PASSED [ 14%] tests/test_browsers_paned.py::TPaneConfig::test_tied PASSED [ 14%] tests/test_browsers_paned.py::TPaneEntry::test_all PASSED [ 14%] tests/test_browsers_paned.py::TPaneEntry::test_all_have PASSED [ 14%] tests/test_browsers_paned.py::TPaneEntry::test_songs PASSED [ 14%] tests/test_browsers_paned.py::TPaneEntry::test_songs_markup PASSED [ 14%] tests/test_browsers_paned.py::TPaneEntry::test_unknown PASSED [ 14%] tests/test_browsers_paned.py::TPane::test_add_remove_and_show PASSED [ 14%] tests/test_browsers_paned.py::TPane::test_fill PASSED [ 14%] tests/test_browsers_paned.py::TPane::test_fill_selection PASSED [ 14%] tests/test_browsers_paned.py::TPane::test_init PASSED [ 14%] tests/test_browsers_paned.py::TPane::test_matches PASSED [ 14%] tests/test_browsers_paned.py::TPane::test_restore_string PASSED [ 14%] tests/test_browsers_paned.py::TPane::test_set_selected PASSED [ 14%] tests/test_browsers_paned.py::TMultiPane::test_filter_first PASSED [ 14%] tests/test_browsers_paned.py::TMultiPane::test_inhibit PASSED [ 14%] tests/test_browsers_paned.py::TMultiPane::test_pipe_through PASSED [ 14%] tests/test_browsers_paned.py::TPaneModel::test_add_songs PASSED [ 14%] tests/test_browsers_paned.py::TPaneModel::test_add_songs_double PASSED [ 14%] tests/test_browsers_paned.py::TPaneModel::test_add_unknown_first PASSED [ 14%] tests/test_browsers_paned.py::TPaneModel::test_get_keys PASSED [ 14%] tests/test_browsers_paned.py::TPaneModel::test_get_keys_by_tag PASSED [ 14%] tests/test_browsers_paned.py::TPaneModel::test_get_songs PASSED [ 14%] tests/test_browsers_paned.py::TPaneModel::test_list PASSED [ 14%] tests/test_browsers_paned.py::TPaneModel::test_matches PASSED [ 14%] tests/test_browsers_paned.py::TPaneModel::test_remove_songs_keep_rows PASSED [ 14%] tests/test_browsers_paned.py::TPaneModel::test_remove_songs_remove_rows PASSED [ 14%] tests/test_browsers_paned.py::TPaneModel::test_remove_steps PASSED [ 14%] tests/test_browsers_paned.py::TPanedPreferences::test_button PASSED [ 14%] tests/test_browsers_paned.py::TPanedPreferences::test_dialog PASSED [ 14%] tests/test_browsers_paned.py::TPanedPreferences::test_editor PASSED [ 14%] tests/test_browsers_playlists.py::TParseM3U::test_parse_empty PASSED [ 14%] tests/test_browsers_playlists.py::TParseM3U::test_parse_onesong PASSED [ 14%] tests/test_browsers_playlists.py::TParseM3U::test_parse_onesong_uri PASSED [ 14%] tests/test_browsers_playlists.py::TParsePLS::test_parse_empty PASSED [ 15%] tests/test_browsers_playlists.py::TParsePLS::test_parse_onesong PASSED [ 15%] tests/test_browsers_playlists.py::TParsePLS::test_parse_onesong_uri PASSED [ 15%] tests/test_browsers_playlists.py::TPlaylistIntegration::test_remove_duplicated_song PASSED [ 15%] tests/test_browsers_playlists.py::TPlaylistIntegration::test_remove_duplicated_song_leave_dupes PASSED [ 15%] tests/test_browsers_playlists.py::TPlaylistIntegration::test_remove_multi_duplicated_song PASSED [ 15%] tests/test_browsers_playlists.py::TPlaylistIntegration::test_remove_no_lib PASSED [ 15%] tests/test_browsers_playlists.py::TPlaylistIntegration::test_remove_song PASSED [ 15%] tests/test_browsers_playlists.py::TPlaylistsBrowser::test_active_filter_playlists PASSED [ 15%] tests/test_browsers_playlists.py::TPlaylistsBrowser::test_default_display_pattern PASSED [ 15%] tests/test_browsers_playlists.py::TPlaylistsBrowser::test_drag_data_get PASSED [ 15%] tests/test_browsers_playlists.py::TPlaylistsBrowser::test_import PASSED [ 15%] tests/test_browsers_playlists.py::TPlaylistsBrowser::test_no_pl_lib PASSED [ 15%] tests/test_browsers_playlists.py::TPlaylistsBrowser::test_playlist_deletion_ACCEPT PASSED [ 15%] tests/test_browsers_playlists.py::TPlaylistsBrowser::test_playlist_deletion_CANCEL PASSED [ 15%] tests/test_browsers_playlists.py::TPlaylistsBrowser::test_playlist_drag_data_extend_accept PASSED [ 15%] tests/test_browsers_playlists.py::TPlaylistsBrowser::test_playlist_drag_data_extend_decline PASSED [ 15%] tests/test_browsers_playlists.py::TPlaylistsBrowser::test_rename PASSED [ 15%] tests/test_browsers_playlists.py::TPlaylistsBrowser::test_rename_empty PASSED [ 15%] tests/test_browsers_playlists.py::TPlaylistsBrowser::test_saverestore PASSED [ 15%] tests/test_browsers_playlists.py::TPlaylistsBrowser::test_songs_deletion PASSED [ 15%] tests/test_browsers_playlists.py::TPlaylistUtils::test_naming PASSED [ 15%] tests/test_browsers_playlists.py::TPlaylistUtils::test_naming_default PASSED [ 15%] tests/test_browsers_podcasts.py::TAudioFeeds::test_can_filter PASSED [ 15%] tests/test_browsers_podcasts.py::TAddFeedDialog::test_add_feed_takes_uri PASSED [ 15%] tests/test_browsers_podcasts.py::TFeed::test_feed PASSED [ 15%] tests/test_browsers_podcasts.py::test_menu_items_can_be_clicked PASSED [ 15%] tests/test_browsers_search.py::TSearchBar::test_active_filter PASSED [ 15%] tests/test_browsers_search.py::TSearchBar::test_can_filter PASSED [ 15%] tests/test_browsers_search.py::TSearchBar::test_empty_is_all PASSED [ 15%] tests/test_browsers_search.py::TSearchBar::test_filter PASSED [ 15%] tests/test_browsers_search.py::TSearchBar::test_filter_again PASSED [ 15%] tests/test_browsers_search.py::TSearchBar::test_filter_album_by_labelid PASSED [ 15%] tests/test_browsers_search.py::TSearchBar::test_filter_none PASSED [ 15%] tests/test_browsers_search.py::TSearchBar::test_filter_notvalue PASSED [ 15%] tests/test_browsers_search.py::TSearchBar::test_filter_numeric PASSED [ 16%] tests/test_browsers_search.py::TSearchBar::test_saverestore PASSED [ 16%] tests/test_browsers_search.py::TSearchBar::test_search_text_artist PASSED [ 16%] tests/test_browsers_search.py::TSearchBar::test_search_text_custom_star PASSED [ 16%] tests/test_browsers_soundcloud.py::TestExtract::test_extract_complex PASSED [ 16%] tests/test_browsers_soundcloud.py::TestExtract::test_extract_composite_text PASSED [ 16%] tests/test_browsers_soundcloud.py::TestExtract::test_extract_date PASSED [ 16%] tests/test_browsers_soundcloud.py::TestExtract::test_extract_single_tag PASSED [ 16%] tests/test_browsers_soundcloud.py::TestExtract::test_extract_tag_inter PASSED [ 16%] tests/test_browsers_soundcloud.py::TestExtract::test_extract_tag_union PASSED [ 16%] tests/test_browsers_soundcloud.py::TestExtract::test_extract_unsupported PASSED [ 16%] tests/test_browsers_soundcloud.py::TestExtract::test_numeric_relative PASSED [ 16%] tests/test_browsers_soundcloud.py::TestExtract::test_numeric_simple PASSED [ 16%] tests/test_browsers_soundcloud.py::TestMenu::test_songsmenu_has_information_but_no_edit PASSED [ 16%] tests/test_browsers_soundcloud.py::TestHttpsDefault::test_setup_default PASSED [ 16%] tests/test_cli.py::Tcli::test_process_arguments_errors_on_invalid_opt PASSED [ 16%] tests/test_cli.py::Tcli::test_process_no_arguments_works PASSED [ 16%] tests/test_commands.py::TCommands::test_enqueue_files PASSED [ 16%] tests/test_commands.py::TCommands::test_misc PASSED [ 16%] tests/test_commands.py::TCommands::test_player PASSED [ 16%] tests/test_commands.py::TCommands::test_print_playing_elapsed PASSED [ 16%] tests/test_commands.py::TCommands::test_print_playing_elapsed_numeric PASSED [ 16%] tests/test_commands.py::TCommands::test_query PASSED [ 16%] tests/test_commands.py::TCommands::test_rating PASSED [ 16%] tests/test_commands.py::TCommands::test_set_browser PASSED [ 16%] tests/test_commands.py::TCommandWithPattern::test_invalid_args PASSED [ 16%] tests/test_commands.py::TCommandWithPattern::test_new_syntax PASSED [ 16%] tests/test_commands.py::TCommandWithPattern::test_old_syntax PASSED [ 16%] tests/test_commands.py::TCommandWithPattern::test_old_syntax_that_is_a_valid_json PASSED [ 16%] tests/test_commands.py::TCommandWithPattern::test_query_is_not_a_string PASSED [ 16%] tests/test_commands.py::TCommandWithPattern::test_query_is_valid_json PASSED [ 16%] tests/test_config.py::Tconfig::test_init_garbage_file PASSED [ 16%] tests/test_config.py::TRatingsPrefs::test_all PASSED [ 16%] tests/test_config.py::TRatingsPrefs::test_caching PASSED [ 16%] tests/test_config.py::TRatingsPrefs::test_getters PASSED [ 17%] tests/test_desktop_files.py::TQLDesktopFile::test_filename PASSED [ 17%] tests/test_desktop_files.py::TQLDesktopFile::test_validate PASSED [ 17%] tests/test_desktop_files.py::TEFDesktopFile::test_filename PASSED [ 17%] tests/test_desktop_files.py::TEFDesktopFile::test_validate PASSED [ 17%] tests/test_errorreport.py::Tfaulthandling::test_basic PASSED [ 17%] tests/test_errorreport.py::Tfaulthandling::test_error PASSED [ 17%] tests/test_errorreport.py::Tfaulthandling::test_stacktrace_grouping PASSED [ 17%] tests/test_errorreport.py::Tlogdump::test_main PASSED [ 17%] tests/test_errorreport.py::Terrorui::test_main PASSED [ 17%] tests/test_errorreport.py::Terrorreport::test_enable PASSED [ 17%] tests/test_errorreport.py::Tsentrywrapper::test_main PASSED [ 17%] tests/test_formats___init__.py::TFormats::test_filter PASSED [ 17%] tests/test_formats___init__.py::TFormats::test_loaders PASSED [ 17%] tests/test_formats___init__.py::TFormats::test_migration PASSED [ 17%] tests/test_formats___init__.py::TFormats::test_music_file PASSED [ 17%] tests/test_formats___init__.py::TFormats::test_presence PASSED [ 17%] tests/test_formats___init__.py::TPickle::test_dump_audio_files PASSED [ 17%] tests/test_formats___init__.py::TPickle::test_dump_empty PASSED [ 17%] tests/test_formats___init__.py::TPickle::test_load_audio_files PASSED [ 17%] tests/test_formats___init__.py::TPickle::test_load_audio_files_missing_class PASSED [ 17%] tests/test_formats___init__.py::TPickle::test_sanitized_py3 PASSED [ 17%] tests/test_formats___init__.py::TPickle::test_save_ascii_keys_as_bytes_on_py3 PASSED [ 17%] tests/test_formats___init__.py::TPickle::test_unpickle_random_class PASSED [ 17%] tests/test_formats__audio.py::TAudioFile::test_add PASSED [ 17%] tests/test_formats__audio.py::TAudioFile::test_album_key PASSED [ 17%] tests/test_formats__audio.py::TAudioFile::test_bitrate PASSED [ 17%] tests/test_formats__audio.py::TAudioFile::test_blank_tag_handling_comma PASSED [ 17%] tests/test_formats__audio.py::TAudioFile::test_blank_tag_handling_list PASSED [ 17%] tests/test_formats__audio.py::TAudioFile::test_blank_tag_handling_list_sort PASSED [ 17%] tests/test_formats__audio.py::TAudioFile::test_bookmark_invalid PASSED [ 17%] tests/test_formats__audio.py::TAudioFile::test_bookmarks_none PASSED [ 17%] tests/test_formats__audio.py::TAudioFile::test_bookmarks_simple PASSED [ 17%] tests/test_formats__audio.py::TAudioFile::test_bookmarks_two PASSED [ 17%] tests/test_formats__audio.py::TAudioFile::test_cache_attributes PASSED [ 18%] tests/test_formats__audio.py::TAudioFile::test_call PASSED [ 18%] tests/test_formats__audio.py::TAudioFile::test_call_multiple PASSED [ 18%] tests/test_formats__audio.py::TAudioFile::test_call_numeric PASSED [ 18%] tests/test_formats__audio.py::TAudioFile::test_call_people PASSED [ 18%] tests/test_formats__audio.py::TAudioFile::test_can_change PASSED [ 18%] tests/test_formats__audio.py::TAudioFile::test_can_multiple_values PASSED [ 18%] tests/test_formats__audio.py::TAudioFile::test_change PASSED [ 18%] tests/test_formats__audio.py::TAudioFile::test_comma PASSED [ 18%] tests/test_formats__audio.py::TAudioFile::test_comma_filename PASSED [ 18%] tests/test_formats__audio.py::TAudioFile::test_comma_mountpoint PASSED [ 18%] tests/test_formats__audio.py::TAudioFile::test_eq_ne PASSED [ 18%] tests/test_formats__audio.py::TAudioFile::test_exist PASSED [ 18%] tests/test_formats__audio.py::TAudioFile::test_filesize PASSED [ 18%] tests/test_formats__audio.py::TAudioFile::test_format_type PASSED [ 18%] tests/test_formats__audio.py::TAudioFile::test_has_rating PASSED [ 18%] tests/test_formats__audio.py::TAudioFile::test_invalid_fs_encoding PASSED [ 18%] tests/test_formats__audio.py::TAudioFile::test_is_writable PASSED [ 18%] tests/test_formats__audio.py::TAudioFile::test_iterrealitems PASSED [ 18%] tests/test_formats__audio.py::TAudioFile::test_language PASSED [ 18%] tests/test_formats__audio.py::TAudioFile::test_list PASSED [ 18%] tests/test_formats__audio.py::TAudioFile::test_list_list_separate_types PASSED [ 18%] tests/test_formats__audio.py::TAudioFile::test_list_multiple_tied_tags PASSED [ 18%] tests/test_formats__audio.py::TAudioFile::test_list_numeric PASSED [ 18%] tests/test_formats__audio.py::TAudioFile::test_list_separate PASSED [ 18%] tests/test_formats__audio.py::TAudioFile::test_list_separate_noexist PASSED [ 18%] tests/test_formats__audio.py::TAudioFile::test_list_sort PASSED [ 18%] tests/test_formats__audio.py::TAudioFile::test_list_sort_empty_sort PASSED [ 18%] tests/test_formats__audio.py::TAudioFile::test_list_sort_length_diff PASSED [ 18%] tests/test_formats__audio.py::TAudioFile::test_list_sort_noexist PASSED [ 18%] tests/test_formats__audio.py::TAudioFile::test_list_tied_tags PASSED [ 18%] tests/test_formats__audio.py::TAudioFile::test_lyric_filename PASSED [ 18%] tests/test_formats__audio.py::TAudioFile::test_lyric_filename_search_builtin_default PASSED [ 18%] tests/test_formats__audio.py::TAudioFile::test_lyric_filename_search_builtin_default_local_path PASSED [ 18%] tests/test_formats__audio.py::TAudioFile::test_lyric_filename_search_custom_path PASSED [ 19%] tests/test_formats__audio.py::TAudioFile::test_lyric_filename_search_file_not_found PASSED [ 19%] tests/test_formats__audio.py::TAudioFile::test_lyric_filename_search_modified_extension_fallback PASSED [ 19%] tests/test_formats__audio.py::TAudioFile::test_lyric_filename_search_order_priority PASSED [ 19%] tests/test_formats__audio.py::TAudioFile::test_lyric_filename_search_special_characters PASSED [ 19%] tests/test_formats__audio.py::TAudioFile::test_lyric_filename_search_special_characters_across_path PASSED [ 19%] tests/test_formats__audio.py::TAudioFile::test_lyrics_from_file PASSED [ 19%] tests/test_formats__audio.py::TAudioFile::test_lyrics_mp3_is_not_a_valid_lyrics_file PASSED [ 19%] tests/test_formats__audio.py::TAudioFile::test_mountpoint PASSED [ 19%] tests/test_formats__audio.py::TAudioFile::test_originalyear PASSED [ 19%] tests/test_formats__audio.py::TAudioFile::test_people PASSED [ 19%] tests/test_formats__audio.py::TAudioFile::test_people_individuals PASSED [ 19%] tests/test_formats__audio.py::TAudioFile::test_people_mix PASSED [ 19%] tests/test_formats__audio.py::TAudioFile::test_people_multi_value PASSED [ 19%] tests/test_formats__audio.py::TAudioFile::test_peoplesort PASSED [ 19%] tests/test_formats__audio.py::TAudioFile::test_performers PASSED [ 19%] tests/test_formats__audio.py::TAudioFile::test_performers_multi_value PASSED [ 19%] tests/test_formats__audio.py::TAudioFile::test_playlists_tag PASSED [ 19%] tests/test_formats__audio.py::TAudioFile::test_producer PASSED [ 19%] tests/test_formats__audio.py::TAudioFile::test_realkeys PASSED [ 19%] tests/test_formats__audio.py::TAudioFile::test_reload PASSED [ 19%] tests/test_formats__audio.py::TAudioFile::test_reload_externally_modified PASSED [ 19%] tests/test_formats__audio.py::TAudioFile::test_reload_fail PASSED [ 19%] tests/test_formats__audio.py::TAudioFile::test_remove PASSED [ 19%] tests/test_formats__audio.py::TAudioFile::test_remove_all PASSED [ 19%] tests/test_formats__audio.py::TAudioFile::test_remove_empty PASSED [ 19%] tests/test_formats__audio.py::TAudioFile::test_remove_rating PASSED [ 19%] tests/test_formats__audio.py::TAudioFile::test_remove_unknown PASSED [ 19%] tests/test_formats__audio.py::TAudioFile::test_rename PASSED [ 19%] tests/test_formats__audio.py::TAudioFile::test_rename_other_dir PASSED [ 19%] tests/test_formats__audio.py::TAudioFile::test_rename_to_existing PASSED [ 19%] tests/test_formats__audio.py::TAudioFile::test_sanitize PASSED [ 19%] tests/test_formats__audio.py::TAudioFile::test_set_bookmarks_invalid_time PASSED [ 19%] tests/test_formats__audio.py::TAudioFile::test_set_bookmarks_invalid_value PASSED [ 19%] tests/test_formats__audio.py::TAudioFile::test_set_bookmarks_none PASSED [ 20%] tests/test_formats__audio.py::TAudioFile::test_set_bookmarks_simple PASSED [ 20%] tests/test_formats__audio.py::TAudioFile::test_set_bookmarks_unrealistic_time PASSED [ 20%] tests/test_formats__audio.py::TAudioFile::test_setitem_keys PASSED [ 20%] tests/test_formats__audio.py::TAudioFile::test_sort PASSED [ 20%] tests/test_formats__audio.py::TAudioFile::test_sort_cache PASSED [ 20%] tests/test_formats__audio.py::TAudioFile::test_sort_func PASSED [ 20%] tests/test_formats__audio.py::TAudioFile::test_sort_func_custom_numeric PASSED [ 20%] tests/test_formats__audio.py::TAudioFile::test_sort_key_defaults PASSED [ 20%] tests/test_formats__audio.py::TAudioFile::test_tag_strs PASSED [ 20%] tests/test_formats__audio.py::TAudioFile::test_tied_filename_numeric PASSED [ 20%] tests/test_formats__audio.py::TAudioFile::test_to_dump PASSED [ 20%] tests/test_formats__audio.py::TAudioFile::test_to_dump_unicode PASSED [ 20%] tests/test_formats__audio.py::TAudioFile::test_trackdisc PASSED [ 20%] tests/test_formats__audio.py::TAudioFile::test_unsynced_lyrics PASSED [ 20%] tests/test_formats__audio.py::TAudioFile::test_uri PASSED [ 20%] tests/test_formats__audio.py::TAudioFile::test_valid PASSED [ 20%] tests/test_formats__audio.py::TAudioFile::test_year PASSED [ 20%] tests/test_formats__audio.py::TAudioFormats::test_load_non_exist PASSED [ 20%] tests/test_formats__audio.py::TAudioFormats::test_reload_non_existing PASSED [ 20%] tests/test_formats__audio.py::TAudioFormats::test_write_non_existing PASSED [ 20%] tests/test_formats__audio.py::Tdecode_value::test_main PASSED [ 20%] tests/test_formats__audio.py::Tdecode_value::test_path PASSED [ 20%] tests/test_formats__audio.py::Treplay_gain::test_albumgain PASSED [ 20%] tests/test_formats__audio.py::Treplay_gain::test_fallback_album PASSED [ 20%] tests/test_formats__audio.py::Treplay_gain::test_fallback_and_preamp PASSED [ 20%] tests/test_formats__audio.py::Treplay_gain::test_fallback_track PASSED [ 20%] tests/test_formats__audio.py::Treplay_gain::test_human_time_tags PASSED [ 20%] tests/test_formats__audio.py::Treplay_gain::test_invalid PASSED [ 20%] tests/test_formats__audio.py::Treplay_gain::test_large PASSED [ 20%] tests/test_formats__audio.py::Treplay_gain::test_no_rg_song PASSED [ 20%] tests/test_formats__audio.py::Treplay_gain::test_nogain PASSED [ 20%] tests/test_formats__audio.py::Treplay_gain::test_numeric_rg_tags PASSED [ 20%] tests/test_formats__audio.py::Treplay_gain::test_preamp_album PASSED [ 20%] tests/test_formats__audio.py::Treplay_gain::test_preamp_clip PASSED [ 21%] tests/test_formats__audio.py::Treplay_gain::test_preamp_track PASSED [ 21%] tests/test_formats__audio.py::Treplay_gain::test_track_fallback PASSED [ 21%] tests/test_formats__audio.py::Treplay_gain::test_trackgain PASSED [ 21%] tests/test_formats__id3.py::TID3ImagesMP3::test_can_change_images PASSED [ 21%] tests/test_formats__id3.py::TID3ImagesMP3::test_clear_images PASSED [ 21%] tests/test_formats__id3.py::TID3ImagesMP3::test_get_primary_image PASSED [ 21%] tests/test_formats__id3.py::TID3ImagesMP3::test_set_image PASSED [ 21%] tests/test_formats__id3.py::TID3ImagesMP3::test_set_image_no_tag PASSED [ 21%] tests/test_formats__id3.py::TID3ImagesAIFF::test_can_change_images PASSED [ 21%] tests/test_formats__id3.py::TID3ImagesAIFF::test_clear_images PASSED [ 21%] tests/test_formats__id3.py::TID3ImagesAIFF::test_get_primary_image PASSED [ 21%] tests/test_formats__id3.py::TID3ImagesAIFF::test_set_image PASSED [ 21%] tests/test_formats__id3.py::TID3ImagesAIFF::test_set_image_no_tag PASSED [ 21%] tests/test_formats__id3.py::TID3FileMP3::test_TXXX_DATE PASSED [ 21%] tests/test_formats__id3.py::TID3FileMP3::test_USLT PASSED [ 21%] tests/test_formats__id3.py::TID3FileMP3::test_albumartistsort PASSED [ 21%] tests/test_formats__id3.py::TID3FileMP3::test_distrust_latin1 PASSED [ 21%] tests/test_formats__id3.py::TID3FileMP3::test_encoding PASSED [ 21%] tests/test_formats__id3.py::TID3FileMP3::test_foobar2k_replaygain PASSED [ 21%] tests/test_formats__id3.py::TID3FileMP3::test_foobar2k_replaygain_read_new PASSED [ 21%] tests/test_formats__id3.py::TID3FileMP3::test_foobar2k_replaygain_write_new PASSED [ 21%] tests/test_formats__id3.py::TID3FileMP3::test_foobar2k_rg_caseinsensitive PASSED [ 21%] tests/test_formats__id3.py::TID3FileMP3::test_handled_txxx_encoding PASSED [ 21%] tests/test_formats__id3.py::TID3FileMP3::test_ignore_tlen PASSED [ 21%] tests/test_formats__id3.py::TID3FileMP3::test_lang_read PASSED [ 21%] tests/test_formats__id3.py::TID3FileMP3::test_lang_read_TLAN PASSED [ 21%] tests/test_formats__id3.py::TID3FileMP3::test_lang_read_multiple_TLAN PASSED [ 21%] tests/test_formats__id3.py::TID3FileMP3::test_load_comment PASSED [ 21%] tests/test_formats__id3.py::TID3FileMP3::test_load_tcon PASSED [ 21%] tests/test_formats__id3.py::TID3FileMP3::test_mb_release_track_id PASSED [ 21%] tests/test_formats__id3.py::TID3FileMP3::test_mb_track_id PASSED [ 21%] tests/test_formats__id3.py::TID3FileMP3::test_nonascii_unsup_tcon PASSED [ 21%] tests/test_formats__id3.py::TID3FileMP3::test_old_comm_to_txxx PASSED [ 21%] tests/test_formats__id3.py::TID3FileMP3::test_optional_POPM_count PASSED [ 22%] tests/test_formats__id3.py::TID3FileMP3::test_quodlibet_txxx_inval PASSED [ 22%] tests/test_formats__id3.py::TID3FileMP3::test_rva PASSED [ 22%] tests/test_formats__id3.py::TID3FileMP3::test_rva_inval PASSED [ 22%] tests/test_formats__id3.py::TID3FileMP3::test_rva_large PASSED [ 22%] tests/test_formats__id3.py::TID3FileMP3::test_rva_unknown PASSED [ 22%] tests/test_formats__id3.py::TID3FileMP3::test_tcon PASSED [ 22%] tests/test_formats__id3.py::TID3FileMP3::test_txxx_others PASSED [ 22%] tests/test_formats__id3.py::TID3FileMP3::test_unhandled PASSED [ 22%] tests/test_formats__id3.py::TID3FileMP3::test_without_id3_tag PASSED [ 22%] tests/test_formats__id3.py::TID3FileMP3::test_woar PASSED [ 22%] tests/test_formats__id3.py::TID3FileMP3::test_write_empty_replaygain_track_gain PASSED [ 22%] tests/test_formats__id3.py::TID3FileMP3::test_write_lang_freetext PASSED [ 22%] tests/test_formats__id3.py::TID3FileMP3::test_write_lang_iso PASSED [ 22%] tests/test_formats__id3.py::TID3FileMP3::test_write_multiple_lang_iso PASSED [ 22%] tests/test_formats__id3.py::TID3FileAIFF::test_TXXX_DATE PASSED [ 22%] tests/test_formats__id3.py::TID3FileAIFF::test_USLT PASSED [ 22%] tests/test_formats__id3.py::TID3FileAIFF::test_albumartistsort PASSED [ 22%] tests/test_formats__id3.py::TID3FileAIFF::test_distrust_latin1 PASSED [ 22%] tests/test_formats__id3.py::TID3FileAIFF::test_encoding PASSED [ 22%] tests/test_formats__id3.py::TID3FileAIFF::test_foobar2k_replaygain PASSED [ 22%] tests/test_formats__id3.py::TID3FileAIFF::test_foobar2k_replaygain_read_new PASSED [ 22%] tests/test_formats__id3.py::TID3FileAIFF::test_foobar2k_replaygain_write_new PASSED [ 22%] tests/test_formats__id3.py::TID3FileAIFF::test_foobar2k_rg_caseinsensitive PASSED [ 22%] tests/test_formats__id3.py::TID3FileAIFF::test_handled_txxx_encoding PASSED [ 22%] tests/test_formats__id3.py::TID3FileAIFF::test_ignore_tlen PASSED [ 22%] tests/test_formats__id3.py::TID3FileAIFF::test_lang_read PASSED [ 22%] tests/test_formats__id3.py::TID3FileAIFF::test_lang_read_TLAN PASSED [ 22%] tests/test_formats__id3.py::TID3FileAIFF::test_lang_read_multiple_TLAN PASSED [ 22%] tests/test_formats__id3.py::TID3FileAIFF::test_load_comment PASSED [ 22%] tests/test_formats__id3.py::TID3FileAIFF::test_load_tcon PASSED [ 22%] tests/test_formats__id3.py::TID3FileAIFF::test_mb_release_track_id PASSED [ 22%] tests/test_formats__id3.py::TID3FileAIFF::test_mb_track_id PASSED [ 22%] tests/test_formats__id3.py::TID3FileAIFF::test_nonascii_unsup_tcon PASSED [ 22%] tests/test_formats__id3.py::TID3FileAIFF::test_old_comm_to_txxx PASSED [ 23%] tests/test_formats__id3.py::TID3FileAIFF::test_optional_POPM_count PASSED [ 23%] tests/test_formats__id3.py::TID3FileAIFF::test_quodlibet_txxx_inval PASSED [ 23%] tests/test_formats__id3.py::TID3FileAIFF::test_rva PASSED [ 23%] tests/test_formats__id3.py::TID3FileAIFF::test_rva_inval PASSED [ 23%] tests/test_formats__id3.py::TID3FileAIFF::test_rva_large PASSED [ 23%] tests/test_formats__id3.py::TID3FileAIFF::test_rva_unknown PASSED [ 23%] tests/test_formats__id3.py::TID3FileAIFF::test_tcon PASSED [ 23%] tests/test_formats__id3.py::TID3FileAIFF::test_txxx_others PASSED [ 23%] tests/test_formats__id3.py::TID3FileAIFF::test_unhandled PASSED [ 23%] tests/test_formats__id3.py::TID3FileAIFF::test_without_id3_tag PASSED [ 23%] tests/test_formats__id3.py::TID3FileAIFF::test_woar PASSED [ 23%] tests/test_formats__id3.py::TID3FileAIFF::test_write_empty_replaygain_track_gain PASSED [ 23%] tests/test_formats__id3.py::TID3FileAIFF::test_write_lang_freetext PASSED [ 23%] tests/test_formats__id3.py::TID3FileAIFF::test_write_lang_iso PASSED [ 23%] tests/test_formats__id3.py::TID3FileAIFF::test_write_multiple_lang_iso PASSED [ 23%] tests/test_formats__image.py::TAPICType::test_basic PASSED [ 23%] tests/test_formats__image.py::TAPICType::test_sort_key PASSED [ 23%] tests/test_formats__image.py::TImageContainer::test_default_can_change PASSED [ 23%] tests/test_formats__image.py::TImageContainer::test_default_get PASSED [ 23%] tests/test_formats__image.py::TImageContainer::test_has_image PASSED [ 23%] tests/test_formats__image.py::TEmbeddedImages::test_from_path PASSED [ 23%] tests/test_formats__image.py::TEmbeddedImages::test_from_path_bogus PASSED [ 23%] tests/test_formats__image.py::TEmbeddedImages::test_from_path_empty PASSED [ 23%] tests/test_formats__image.py::TEmbeddedImages::test_get_extensions PASSED [ 23%] tests/test_formats__image.py::TEmbeddedImages::test_not_an_image PASSED [ 23%] tests/test_formats__image.py::TEmbeddedImages::test_repr PASSED [ 23%] tests/test_formats_aac.py::TADTSFile::test_basic PASSED [ 23%] tests/test_formats_aac.py::TADTSFile::test_bitrate PASSED [ 23%] tests/test_formats_aac.py::TADTSFile::test_can_change PASSED [ 23%] tests/test_formats_aac.py::TADTSFile::test_can_multiple_values PASSED [ 23%] tests/test_formats_aac.py::TADTSFile::test_channels PASSED [ 23%] tests/test_formats_aac.py::TADTSFile::test_format_codec PASSED [ 23%] tests/test_formats_aac.py::TADTSFile::test_invalid PASSED [ 23%] tests/test_formats_aac.py::TADTSFile::test_length PASSED [ 23%] tests/test_formats_aac.py::TADTSFile::test_samplerate PASSED [ 24%] tests/test_formats_aac.py::TADTSFile::test_write PASSED [ 24%] tests/test_formats_aac.py::TADIFFile::test_basic PASSED [ 24%] tests/test_formats_aac.py::TADIFFile::test_bitrate PASSED [ 24%] tests/test_formats_aac.py::TADIFFile::test_can_change PASSED [ 24%] tests/test_formats_aac.py::TADIFFile::test_can_multiple_values PASSED [ 24%] tests/test_formats_aac.py::TADIFFile::test_channels PASSED [ 24%] tests/test_formats_aac.py::TADIFFile::test_format_codec PASSED [ 24%] tests/test_formats_aac.py::TADIFFile::test_invalid PASSED [ 24%] tests/test_formats_aac.py::TADIFFile::test_length PASSED [ 24%] tests/test_formats_aac.py::TADIFFile::test_samplerate PASSED [ 24%] tests/test_formats_aac.py::TADIFFile::test_write PASSED [ 24%] tests/test_formats_aiff.py::TAIFFFile::test_bitrate PASSED [ 24%] tests/test_formats_aiff.py::TAIFFFile::test_channels PASSED [ 24%] tests/test_formats_aiff.py::TAIFFFile::test_format PASSED [ 24%] tests/test_formats_aiff.py::TAIFFFile::test_length PASSED [ 24%] tests/test_formats_aiff.py::TAIFFFile::test_samplerate PASSED [ 24%] tests/test_formats_aiff.py::TAIFFFile::test_tags PASSED [ 24%] tests/test_formats_all.py::TAudioFileAllBase0::test_clear_images_noent PASSED [ 24%] tests/test_formats_all.py::TAudioFileAllBase0::test_get_images_noent PASSED [ 24%] tests/test_formats_all.py::TAudioFileAllBase0::test_get_primary_image_noent PASSED [ 24%] tests/test_formats_all.py::TAudioFileAllBase0::test_load_noent PASSED [ 24%] tests/test_formats_all.py::TAudioFileAllBase0::test_set_image_noent PASSED [ 24%] tests/test_formats_all.py::TAudioFileAllBase0::test_write_noent PASSED [ 24%] tests/test_formats_all.py::TAudioFileAllBase1::test_clear_images_noent PASSED [ 24%] tests/test_formats_all.py::TAudioFileAllBase1::test_get_images_noent PASSED [ 24%] tests/test_formats_all.py::TAudioFileAllBase1::test_get_primary_image_noent PASSED [ 24%] tests/test_formats_all.py::TAudioFileAllBase1::test_load_noent PASSED [ 24%] tests/test_formats_all.py::TAudioFileAllBase1::test_set_image_noent PASSED [ 24%] tests/test_formats_all.py::TAudioFileAllBase1::test_write_noent PASSED [ 24%] tests/test_formats_all.py::TAudioFileAllBase2::test_clear_images_noent PASSED [ 24%] tests/test_formats_all.py::TAudioFileAllBase2::test_get_images_noent PASSED [ 24%] tests/test_formats_all.py::TAudioFileAllBase2::test_get_primary_image_noent PASSED [ 24%] tests/test_formats_all.py::TAudioFileAllBase2::test_load_noent PASSED [ 24%] tests/test_formats_all.py::TAudioFileAllBase2::test_set_image_noent PASSED [ 25%] tests/test_formats_all.py::TAudioFileAllBase2::test_write_noent PASSED [ 25%] tests/test_formats_all.py::TAudioFileAllBase3::test_clear_images_noent PASSED [ 25%] tests/test_formats_all.py::TAudioFileAllBase3::test_get_images_noent PASSED [ 25%] tests/test_formats_all.py::TAudioFileAllBase3::test_get_primary_image_noent PASSED [ 25%] tests/test_formats_all.py::TAudioFileAllBase3::test_load_noent PASSED [ 25%] tests/test_formats_all.py::TAudioFileAllBase3::test_set_image_noent PASSED [ 25%] tests/test_formats_all.py::TAudioFileAllBase3::test_write_noent PASSED [ 25%] tests/test_formats_all.py::TAudioFileAllBase4::test_clear_images_noent PASSED [ 25%] tests/test_formats_all.py::TAudioFileAllBase4::test_get_images_noent PASSED [ 25%] tests/test_formats_all.py::TAudioFileAllBase4::test_get_primary_image_noent PASSED [ 25%] tests/test_formats_all.py::TAudioFileAllBase4::test_load_noent PASSED [ 25%] tests/test_formats_all.py::TAudioFileAllBase4::test_set_image_noent PASSED [ 25%] tests/test_formats_all.py::TAudioFileAllBase4::test_write_noent PASSED [ 25%] tests/test_formats_all.py::TAudioFileAllBase5::test_clear_images_noent PASSED [ 25%] tests/test_formats_all.py::TAudioFileAllBase5::test_get_images_noent PASSED [ 25%] tests/test_formats_all.py::TAudioFileAllBase5::test_get_primary_image_noent PASSED [ 25%] tests/test_formats_all.py::TAudioFileAllBase5::test_load_noent PASSED [ 25%] tests/test_formats_all.py::TAudioFileAllBase5::test_set_image_noent PASSED [ 25%] tests/test_formats_all.py::TAudioFileAllBase5::test_write_noent PASSED [ 25%] tests/test_formats_all.py::TAudioFileAllBase6::test_clear_images_noent PASSED [ 25%] tests/test_formats_all.py::TAudioFileAllBase6::test_get_images_noent PASSED [ 25%] tests/test_formats_all.py::TAudioFileAllBase6::test_get_primary_image_noent PASSED [ 25%] tests/test_formats_all.py::TAudioFileAllBase6::test_load_noent PASSED [ 25%] tests/test_formats_all.py::TAudioFileAllBase6::test_set_image_noent PASSED [ 25%] tests/test_formats_all.py::TAudioFileAllBase6::test_write_noent PASSED [ 25%] tests/test_formats_all.py::TAudioFileAllBase7::test_clear_images_noent PASSED [ 25%] tests/test_formats_all.py::TAudioFileAllBase7::test_get_images_noent PASSED [ 25%] tests/test_formats_all.py::TAudioFileAllBase7::test_get_primary_image_noent PASSED [ 25%] tests/test_formats_all.py::TAudioFileAllBase7::test_load_noent PASSED [ 25%] tests/test_formats_all.py::TAudioFileAllBase7::test_set_image_noent PASSED [ 25%] tests/test_formats_all.py::TAudioFileAllBase7::test_write_noent PASSED [ 25%] tests/test_formats_all.py::TAudioFileAllBase8::test_clear_images_noent PASSED [ 25%] tests/test_formats_all.py::TAudioFileAllBase8::test_get_images_noent PASSED [ 25%] tests/test_formats_all.py::TAudioFileAllBase8::test_get_primary_image_noent PASSED [ 26%] tests/test_formats_all.py::TAudioFileAllBase8::test_load_noent PASSED [ 26%] tests/test_formats_all.py::TAudioFileAllBase8::test_set_image_noent PASSED [ 26%] tests/test_formats_all.py::TAudioFileAllBase8::test_write_noent PASSED [ 26%] tests/test_formats_all.py::TAudioFileAllBase9::test_clear_images_noent PASSED [ 26%] tests/test_formats_all.py::TAudioFileAllBase9::test_get_images_noent PASSED [ 26%] tests/test_formats_all.py::TAudioFileAllBase9::test_get_primary_image_noent PASSED [ 26%] tests/test_formats_all.py::TAudioFileAllBase9::test_load_noent PASSED [ 26%] tests/test_formats_all.py::TAudioFileAllBase9::test_set_image_noent PASSED [ 26%] tests/test_formats_all.py::TAudioFileAllBase9::test_write_noent PASSED [ 26%] tests/test_formats_all.py::TAudioFileAllBase10::test_clear_images_noent PASSED [ 26%] tests/test_formats_all.py::TAudioFileAllBase10::test_get_images_noent PASSED [ 26%] tests/test_formats_all.py::TAudioFileAllBase10::test_get_primary_image_noent PASSED [ 26%] tests/test_formats_all.py::TAudioFileAllBase10::test_load_noent PASSED [ 26%] tests/test_formats_all.py::TAudioFileAllBase10::test_set_image_noent PASSED [ 26%] tests/test_formats_all.py::TAudioFileAllBase10::test_write_noent PASSED [ 26%] tests/test_formats_all.py::TAudioFileAllBase11::test_clear_images_noent PASSED [ 26%] tests/test_formats_all.py::TAudioFileAllBase11::test_get_images_noent PASSED [ 26%] tests/test_formats_all.py::TAudioFileAllBase11::test_get_primary_image_noent PASSED [ 26%] tests/test_formats_all.py::TAudioFileAllBase11::test_load_noent PASSED [ 26%] tests/test_formats_all.py::TAudioFileAllBase11::test_set_image_noent PASSED [ 26%] tests/test_formats_all.py::TAudioFileAllBase11::test_write_noent PASSED [ 26%] tests/test_formats_all.py::TAudioFileAllBase12::test_clear_images_noent PASSED [ 26%] tests/test_formats_all.py::TAudioFileAllBase12::test_get_images_noent PASSED [ 26%] tests/test_formats_all.py::TAudioFileAllBase12::test_get_primary_image_noent PASSED [ 26%] tests/test_formats_all.py::TAudioFileAllBase12::test_load_noent PASSED [ 26%] tests/test_formats_all.py::TAudioFileAllBase12::test_set_image_noent PASSED [ 26%] tests/test_formats_all.py::TAudioFileAllBase12::test_write_noent PASSED [ 26%] tests/test_formats_all.py::TAudioFileAllBase13::test_clear_images_noent PASSED [ 26%] tests/test_formats_all.py::TAudioFileAllBase13::test_get_images_noent PASSED [ 26%] tests/test_formats_all.py::TAudioFileAllBase13::test_get_primary_image_noent PASSED [ 26%] tests/test_formats_all.py::TAudioFileAllBase13::test_load_noent PASSED [ 26%] tests/test_formats_all.py::TAudioFileAllBase13::test_set_image_noent PASSED [ 26%] tests/test_formats_all.py::TAudioFileAllBase13::test_write_noent PASSED [ 26%] tests/test_formats_all.py::TAudioFileAllBase14::test_clear_images_noent PASSED [ 27%] tests/test_formats_all.py::TAudioFileAllBase14::test_get_images_noent PASSED [ 27%] tests/test_formats_all.py::TAudioFileAllBase14::test_get_primary_image_noent PASSED [ 27%] tests/test_formats_all.py::TAudioFileAllBase14::test_load_noent PASSED [ 27%] tests/test_formats_all.py::TAudioFileAllBase14::test_set_image_noent PASSED [ 27%] tests/test_formats_all.py::TAudioFileAllBase14::test_write_noent PASSED [ 27%] tests/test_formats_all.py::TAudioFileAllBase15::test_clear_images_noent PASSED [ 27%] tests/test_formats_all.py::TAudioFileAllBase15::test_get_images_noent PASSED [ 27%] tests/test_formats_all.py::TAudioFileAllBase15::test_get_primary_image_noent PASSED [ 27%] tests/test_formats_all.py::TAudioFileAllBase15::test_load_noent PASSED [ 27%] tests/test_formats_all.py::TAudioFileAllBase15::test_set_image_noent PASSED [ 27%] tests/test_formats_all.py::TAudioFileAllBase15::test_write_noent PASSED [ 27%] tests/test_formats_apev2.py::TMPCFileAPEv2::test_binary_ignore PASSED [ 27%] tests/test_formats_apev2.py::TMPCFileAPEv2::test_can_change PASSED [ 27%] tests/test_formats_apev2.py::TMPCFileAPEv2::test_disc_mapping PASSED [ 27%] tests/test_formats_apev2.py::TMPCFileAPEv2::test_ignore PASSED [ 27%] tests/test_formats_apev2.py::TMPCFileAPEv2::test_multi_case PASSED [ 27%] tests/test_formats_apev2.py::TMPCFileAPEv2::test_titlecase PASSED [ 27%] tests/test_formats_apev2.py::TMPCFileAPEv2::test_track_mapping PASSED [ 27%] tests/test_formats_apev2.py::TMPCFileAPEv2::test_trans_keys PASSED [ 27%] tests/test_formats_apev2.py::TMAFile::test_binary_ignore PASSED [ 27%] tests/test_formats_apev2.py::TMAFile::test_bitdepth PASSED [ 27%] tests/test_formats_apev2.py::TMAFile::test_can_change PASSED [ 27%] tests/test_formats_apev2.py::TMAFile::test_channels PASSED [ 27%] tests/test_formats_apev2.py::TMAFile::test_disc_mapping PASSED [ 27%] tests/test_formats_apev2.py::TMAFile::test_format_codec PASSED [ 27%] tests/test_formats_apev2.py::TMAFile::test_ignore PASSED [ 27%] tests/test_formats_apev2.py::TMAFile::test_multi_case PASSED [ 27%] tests/test_formats_apev2.py::TMAFile::test_samplerate PASSED [ 27%] tests/test_formats_apev2.py::TMAFile::test_titlecase PASSED [ 27%] tests/test_formats_apev2.py::TMAFile::test_track_mapping PASSED [ 27%] tests/test_formats_apev2.py::TMAFile::test_trans_keys PASSED [ 27%] tests/test_formats_apev2.py::test_ma_file_old PASSED [ 27%] tests/test_formats_apev2.py::TWavpackFileAPEv2::test_binary_ignore PASSED [ 27%] tests/test_formats_apev2.py::TWavpackFileAPEv2::test_can_change PASSED [ 28%] tests/test_formats_apev2.py::TWavpackFileAPEv2::test_disc_mapping PASSED [ 28%] tests/test_formats_apev2.py::TWavpackFileAPEv2::test_format_codec PASSED [ 28%] tests/test_formats_apev2.py::TWavpackFileAPEv2::test_ignore PASSED [ 28%] tests/test_formats_apev2.py::TWavpackFileAPEv2::test_multi_case PASSED [ 28%] tests/test_formats_apev2.py::TWavpackFileAPEv2::test_titlecase PASSED [ 28%] tests/test_formats_apev2.py::TWavpackFileAPEv2::test_track_mapping PASSED [ 28%] tests/test_formats_apev2.py::TWavpackFileAPEv2::test_trans_keys PASSED [ 28%] tests/test_formats_apev2.py::TWvCoverArt::test_can_change_images PASSED [ 28%] tests/test_formats_apev2.py::TWvCoverArt::test_clear_images PASSED [ 28%] tests/test_formats_apev2.py::TWvCoverArt::test_get_images PASSED [ 28%] tests/test_formats_apev2.py::TWvCoverArt::test_get_primary_image PASSED [ 28%] tests/test_formats_apev2.py::TWvCoverArt::test_set_image PASSED [ 28%] tests/test_formats_apev2.py::TWvCoverArt::test_set_image_no_tag PASSED [ 28%] tests/test_formats_dsf.py::TDSFFile::test_bitdepth PASSED [ 28%] tests/test_formats_dsf.py::TDSFFile::test_bitrate PASSED [ 28%] tests/test_formats_dsf.py::TDSFFile::test_channels PASSED [ 28%] tests/test_formats_dsf.py::TDSFFile::test_format PASSED [ 28%] tests/test_formats_dsf.py::TDSFFile::test_length PASSED [ 28%] tests/test_formats_dsf.py::TDSFFile::test_samplerate PASSED [ 28%] tests/test_formats_dsf.py::TDSFFile::test_tags PASSED [ 28%] tests/test_formats_midi.py::TMidiFile::test_can_change PASSED [ 28%] tests/test_formats_midi.py::TMidiFile::test_format_codec PASSED [ 28%] tests/test_formats_midi.py::TMidiFile::test_invalid PASSED [ 28%] tests/test_formats_midi.py::TMidiFile::test_length PASSED [ 28%] tests/test_formats_midi.py::TMidiFile::test_reload PASSED [ 28%] tests/test_formats_midi.py::TMidiFile::test_write PASSED [ 28%] tests/test_formats_mod.py::TModFile::test_format_codec PASSED [ 28%] tests/test_formats_mod.py::TModFile::test_length PASSED [ 28%] tests/test_formats_mod.py::TModFile::test_title PASSED [ 28%] tests/test_formats_mp3.py::TMP3File::test_bitrate PASSED [ 28%] tests/test_formats_mp3.py::TMP3File::test_channels PASSED [ 28%] tests/test_formats_mp3.py::TMP3File::test_codec PASSED [ 28%] tests/test_formats_mp3.py::TMP3File::test_encoding PASSED [ 28%] tests/test_formats_mp3.py::TMP3File::test_format PASSED [ 29%] tests/test_formats_mp3.py::TMP3File::test_length PASSED [ 29%] tests/test_formats_mp3.py::TMP3File::test_samplerate PASSED [ 29%] tests/test_formats_mp4.py::TMP4File::test_basic PASSED [ 29%] tests/test_formats_mp4.py::TMP4File::test_basic_numeric PASSED [ 29%] tests/test_formats_mp4.py::TMP4File::test_bitdepth PASSED [ 29%] tests/test_formats_mp4.py::TMP4File::test_bitrate PASSED [ 29%] tests/test_formats_mp4.py::TMP4File::test_bpm_rounds PASSED [ 29%] tests/test_formats_mp4.py::TMP4File::test_can_change PASSED [ 29%] tests/test_formats_mp4.py::TMP4File::test_can_change_images PASSED [ 29%] tests/test_formats_mp4.py::TMP4File::test_can_multiple_values PASSED [ 29%] tests/test_formats_mp4.py::TMP4File::test_channels PASSED [ 29%] tests/test_formats_mp4.py::TMP4File::test_clear_images PASSED [ 29%] tests/test_formats_mp4.py::TMP4File::test_codec PASSED [ 29%] tests/test_formats_mp4.py::TMP4File::test_empty_disk_trkn PASSED [ 29%] tests/test_formats_mp4.py::TMP4File::test_encoding PASSED [ 29%] tests/test_formats_mp4.py::TMP4File::test_format PASSED [ 29%] tests/test_formats_mp4.py::TMP4File::test_get_image PASSED [ 29%] tests/test_formats_mp4.py::TMP4File::test_get_image_non PASSED [ 29%] tests/test_formats_mp4.py::TMP4File::test_get_images PASSED [ 29%] tests/test_formats_mp4.py::TMP4File::test_invalid PASSED [ 29%] tests/test_formats_mp4.py::TMP4File::test_length PASSED [ 29%] tests/test_formats_mp4.py::TMP4File::test_less_common_tags PASSED [ 29%] tests/test_formats_mp4.py::TMP4File::test_m4b_support PASSED [ 29%] tests/test_formats_mp4.py::TMP4File::test_mb_release_track_id PASSED [ 29%] tests/test_formats_mp4.py::TMP4File::test_replaygain_tags PASSED [ 29%] tests/test_formats_mp4.py::TMP4File::test_samplerate PASSED [ 29%] tests/test_formats_mp4.py::TMP4File::test_set_image PASSED [ 29%] tests/test_formats_mp4.py::TMP4File::test_write PASSED [ 29%] tests/test_formats_mpc.py::TMPCFile::test_bitrate PASSED [ 29%] tests/test_formats_mpc.py::TMPCFile::test_channels PASSED [ 29%] tests/test_formats_mpc.py::TMPCFile::test_codec PASSED [ 29%] tests/test_formats_mpc.py::TMPCFile::test_encoding PASSED [ 29%] tests/test_formats_mpc.py::TMPCFile::test_format PASSED [ 29%] tests/test_formats_mpc.py::TMPCFile::test_invalid PASSED [ 30%] tests/test_formats_mpc.py::TMPCFile::test_length PASSED [ 30%] tests/test_formats_mpc.py::TMPCFile::test_samplerate PASSED [ 30%] tests/test_formats_remote.py::TRemoteFile::test_fix_old_types PASSED [ 30%] tests/test_formats_remote.py::TRemoteFile::test_path_types PASSED [ 30%] tests/test_formats_spc.py::TSPCFile::test_can_change PASSED [ 30%] tests/test_formats_spc.py::TSPCFile::test_format_codec PASSED [ 30%] tests/test_formats_spc.py::TSPCFile::test_invalid PASSED [ 30%] tests/test_formats_spc.py::TSPCFile::test_length PASSED [ 30%] tests/test_formats_spc.py::TSPCFile::test_tags PASSED [ 30%] tests/test_formats_spc.py::TSPCFile::test_write PASSED [ 30%] tests/test_formats_trueaudio.py::TTrueAudioFile::test_audio_props PASSED [ 30%] tests/test_formats_trueaudio.py::TTrueAudioFile::test_format_codec PASSED [ 30%] tests/test_formats_trueaudio.py::TTrueAudioFile::test_length PASSED [ 30%] tests/test_formats_vgm.py::TVgmFile::test_can_change PASSED [ 30%] tests/test_formats_vgm.py::TVgmFile::test_format_codec PASSED [ 30%] tests/test_formats_vgm.py::TVgmFile::test_gd3_tags PASSED [ 30%] tests/test_formats_vgm.py::TVgmFile::test_invalid PASSED [ 30%] tests/test_formats_vgm.py::TVgmFile::test_length PASSED [ 30%] tests/test_formats_vgm.py::TVgmFile::test_reload PASSED [ 30%] tests/test_formats_vgm.py::TVgmFile::test_write PASSED [ 30%] tests/test_formats_wav.py::TWAVEFile::test_bitdepth PASSED [ 30%] tests/test_formats_wav.py::TWAVEFile::test_can_change PASSED [ 30%] tests/test_formats_wav.py::TWAVEFile::test_channels PASSED [ 30%] tests/test_formats_wav.py::TWAVEFile::test_format_codec PASSED [ 30%] tests/test_formats_wav.py::TWAVEFile::test_invalid PASSED [ 30%] tests/test_formats_wav.py::TWAVEFile::test_length PASSED [ 30%] tests/test_formats_wav.py::TWAVEFile::test_samplerate PASSED [ 30%] tests/test_formats_wav.py::TWAVEFile::test_title_tag PASSED [ 30%] tests/test_formats_wav.py::TWAVEFile::test_write PASSED [ 30%] tests/test_formats_wavpack.py::TWavpackFile::test_bitrate PASSED [ 30%] tests/test_formats_wavpack.py::TWavpackFile::test_channels PASSED [ 30%] tests/test_formats_wavpack.py::TWavpackFile::test_format_codec PASSED [ 30%] tests/test_formats_wavpack.py::TWavpackFile::test_length PASSED [ 30%] tests/test_formats_wavpack.py::TWavpackFile::test_samplerate PASSED [ 30%] tests/test_formats_wma.py::TWMAFile::test_basic PASSED [ 31%] tests/test_formats_wma.py::TWMAFile::test_bitrate PASSED [ 31%] tests/test_formats_wma.py::TWMAFile::test_can_change PASSED [ 31%] tests/test_formats_wma.py::TWMAFile::test_can_change_images PASSED [ 31%] tests/test_formats_wma.py::TWMAFile::test_can_multiple_values PASSED [ 31%] tests/test_formats_wma.py::TWMAFile::test_channels PASSED [ 31%] tests/test_formats_wma.py::TWMAFile::test_clear_images PASSED [ 31%] tests/test_formats_wma.py::TWMAFile::test_codec PASSED [ 31%] tests/test_formats_wma.py::TWMAFile::test_encoding PASSED [ 31%] tests/test_formats_wma.py::TWMAFile::test_format PASSED [ 31%] tests/test_formats_wma.py::TWMAFile::test_get_image PASSED [ 31%] tests/test_formats_wma.py::TWMAFile::test_get_image_invalid_data PASSED [ 31%] tests/test_formats_wma.py::TWMAFile::test_get_images PASSED [ 31%] tests/test_formats_wma.py::TWMAFile::test_invalid PASSED [ 31%] tests/test_formats_wma.py::TWMAFile::test_length PASSED [ 31%] tests/test_formats_wma.py::TWMAFile::test_mb_release_track_id PASSED [ 31%] tests/test_formats_wma.py::TWMAFile::test_multi PASSED [ 31%] tests/test_formats_wma.py::TWMAFile::test_pack_image PASSED [ 31%] tests/test_formats_wma.py::TWMAFile::test_sample_rate PASSED [ 31%] tests/test_formats_wma.py::TWMAFile::test_set_image PASSED [ 31%] tests/test_formats_wma.py::TWMAFile::test_unpack_image_invalid PASSED [ 31%] tests/test_formats_wma.py::TWMAFile::test_unpack_image_min PASSED [ 31%] tests/test_formats_wma.py::TWMAFile::test_write PASSED [ 31%] tests/test_formats_xiph.py::TXiphPickle::test_modules_flac PASSED [ 31%] tests/test_formats_xiph.py::TXiphPickle::test_modules_vorbis PASSED [ 31%] tests/test_formats_xiph.py::TTrackTotal::test_load_all PASSED [ 31%] tests/test_formats_xiph.py::TTrackTotal::test_load_both_no_single PASSED [ 31%] tests/test_formats_xiph.py::TTrackTotal::test_load_fallback PASSED [ 31%] tests/test_formats_xiph.py::TTrackTotal::test_load_fallback_no_single PASSED [ 31%] tests/test_formats_xiph.py::TTrackTotal::test_load_main PASSED [ 31%] tests/test_formats_xiph.py::TTrackTotal::test_load_main_no_single PASSED [ 31%] tests/test_formats_xiph.py::TTrackTotal::test_load_old_single PASSED [ 31%] tests/test_formats_xiph.py::TTrackTotal::test_save_all PASSED [ 31%] tests/test_formats_xiph.py::TTrackTotal::test_save_fallback PASSED [ 31%] tests/test_formats_xiph.py::TTrackTotal::test_save_main PASSED [ 32%] tests/test_formats_xiph.py::TTrackTotal::test_save_single PASSED [ 32%] tests/test_formats_xiph.py::TTrackTotal::test_save_single_and_fallback PASSED [ 32%] tests/test_formats_xiph.py::TTrackTotal::test_save_single_and_main PASSED [ 32%] tests/test_formats_xiph.py::TDiscTotal::test_load_all PASSED [ 32%] tests/test_formats_xiph.py::TDiscTotal::test_load_both_no_single PASSED [ 32%] tests/test_formats_xiph.py::TDiscTotal::test_load_fallback PASSED [ 32%] tests/test_formats_xiph.py::TDiscTotal::test_load_fallback_no_single PASSED [ 32%] tests/test_formats_xiph.py::TDiscTotal::test_load_main PASSED [ 32%] tests/test_formats_xiph.py::TDiscTotal::test_load_main_no_single PASSED [ 32%] tests/test_formats_xiph.py::TDiscTotal::test_load_old_single PASSED [ 32%] tests/test_formats_xiph.py::TDiscTotal::test_save_all PASSED [ 32%] tests/test_formats_xiph.py::TDiscTotal::test_save_fallback PASSED [ 32%] tests/test_formats_xiph.py::TDiscTotal::test_save_main PASSED [ 32%] tests/test_formats_xiph.py::TDiscTotal::test_save_single PASSED [ 32%] tests/test_formats_xiph.py::TDiscTotal::test_save_single_and_fallback PASSED [ 32%] tests/test_formats_xiph.py::TDiscTotal::test_save_single_and_main PASSED [ 32%] tests/test_formats_xiph.py::TFLACFile::test_audio_props PASSED [ 32%] tests/test_formats_xiph.py::TFLACFile::test_can_change PASSED [ 32%] tests/test_formats_xiph.py::TFLACFile::test_case_insensitive PASSED [ 32%] tests/test_formats_xiph.py::TFLACFile::test_case_insensitive_total PASSED [ 32%] tests/test_formats_xiph.py::TFLACFile::test_channels PASSED [ 32%] tests/test_formats_xiph.py::TFLACFile::test_default_email_rating PASSED [ 32%] tests/test_formats_xiph.py::TFLACFile::test_deletes_rating PASSED [ 32%] tests/test_formats_xiph.py::TFLACFile::test_different_email_rating PASSED [ 32%] tests/test_formats_xiph.py::TFLACFile::test_dont_save PASSED [ 32%] tests/test_formats_xiph.py::TFLACFile::test_format_codec PASSED [ 32%] tests/test_formats_xiph.py::TFLACFile::test_huge_playcount PASSED [ 32%] tests/test_formats_xiph.py::TFLACFile::test_mime PASSED [ 32%] tests/test_formats_xiph.py::TFLACFile::test_new_email_rating PASSED [ 32%] tests/test_formats_xiph.py::TFLACFile::test_parameter PASSED [ 32%] tests/test_formats_xiph.py::TFLACFile::test_parameter_ci PASSED [ 32%] tests/test_formats_xiph.py::TFLACFile::test_rating PASSED [ 32%] tests/test_formats_xiph.py::TFLACFile::test_save_empty PASSED [ 32%] tests/test_formats_xiph.py::TFLACFile::test_strip_id3 PASSED [ 33%] tests/test_formats_xiph.py::TVCCoverOgg::test_can_change_images PASSED [ 33%] tests/test_formats_xiph.py::TVCCoverOgg::test_handle_invalid_coverart PASSED [ 33%] tests/test_formats_xiph.py::TVCCoverOgg::test_handle_invalid_flac_picture PASSED [ 33%] tests/test_formats_xiph.py::TVCCoverOgg::test_handle_invalid_picture_block PASSED [ 33%] tests/test_formats_xiph.py::TVCCoverOgg::test_handle_picture_block PASSED [ 33%] tests/test_formats_xiph.py::TVCCoverOgg::test_no_cover PASSED [ 33%] tests/test_formats_xiph.py::TVCCoverFlac::test_can_change_images PASSED [ 33%] tests/test_formats_xiph.py::TVCCoverFlac::test_handle_invalid_coverart PASSED [ 33%] tests/test_formats_xiph.py::TVCCoverFlac::test_handle_invalid_flac_picture PASSED [ 33%] tests/test_formats_xiph.py::TVCCoverFlac::test_handle_invalid_picture_block PASSED [ 33%] tests/test_formats_xiph.py::TVCCoverFlac::test_handle_picture_block PASSED [ 33%] tests/test_formats_xiph.py::TVCCoverFlac::test_no_cover PASSED [ 33%] tests/test_formats_xiph.py::TFlacPicture::test_clear_images PASSED [ 33%] tests/test_formats_xiph.py::TFlacPicture::test_get_image PASSED [ 33%] tests/test_formats_xiph.py::TFlacPicture::test_get_images PASSED [ 33%] tests/test_formats_xiph.py::TFlacPicture::test_set_image PASSED [ 33%] tests/test_formats_xiph.py::TOggFile::test_audio_props PASSED [ 33%] tests/test_formats_xiph.py::TOggFile::test_can_change PASSED [ 33%] tests/test_formats_xiph.py::TOggFile::test_case_insensitive PASSED [ 33%] tests/test_formats_xiph.py::TOggFile::test_case_insensitive_total PASSED [ 33%] tests/test_formats_xiph.py::TOggFile::test_channels PASSED [ 33%] tests/test_formats_xiph.py::TOggFile::test_default_email_rating PASSED [ 33%] tests/test_formats_xiph.py::TOggFile::test_deletes_rating PASSED [ 33%] tests/test_formats_xiph.py::TOggFile::test_different_email_rating PASSED [ 33%] tests/test_formats_xiph.py::TOggFile::test_dont_save PASSED [ 33%] tests/test_formats_xiph.py::TOggFile::test_format_codec PASSED [ 33%] tests/test_formats_xiph.py::TOggFile::test_huge_playcount PASSED [ 33%] tests/test_formats_xiph.py::TOggFile::test_new_email_rating PASSED [ 33%] tests/test_formats_xiph.py::TOggFile::test_parameter PASSED [ 33%] tests/test_formats_xiph.py::TOggFile::test_parameter_ci PASSED [ 33%] tests/test_formats_xiph.py::TOggFile::test_rating PASSED [ 33%] tests/test_formats_xiph.py::TOggOpusFile::test_can_change PASSED [ 33%] tests/test_formats_xiph.py::TOggOpusFile::test_case_insensitive PASSED [ 33%] tests/test_formats_xiph.py::TOggOpusFile::test_case_insensitive_total PASSED [ 34%] tests/test_formats_xiph.py::TOggOpusFile::test_channels PASSED [ 34%] tests/test_formats_xiph.py::TOggOpusFile::test_default_email_rating PASSED [ 34%] tests/test_formats_xiph.py::TOggOpusFile::test_deletes_rating PASSED [ 34%] tests/test_formats_xiph.py::TOggOpusFile::test_different_email_rating PASSED [ 34%] tests/test_formats_xiph.py::TOggOpusFile::test_dont_save PASSED [ 34%] tests/test_formats_xiph.py::TOggOpusFile::test_format_codec PASSED [ 34%] tests/test_formats_xiph.py::TOggOpusFile::test_huge_playcount PASSED [ 34%] tests/test_formats_xiph.py::TOggOpusFile::test_length PASSED [ 34%] tests/test_formats_xiph.py::TOggOpusFile::test_new_email_rating PASSED [ 34%] tests/test_formats_xiph.py::TOggOpusFile::test_parameter PASSED [ 34%] tests/test_formats_xiph.py::TOggOpusFile::test_parameter_ci PASSED [ 34%] tests/test_formats_xiph.py::TOggOpusFile::test_rating PASSED [ 34%] tests/test_formats_xiph.py::TOggOpusFile::test_sample_rate PASSED [ 34%] tests/test_gio.py::TestFileMonitor::test_create_delete PASSED [ 34%] tests/test_gio.py::TestFileMonitor::test_move PASSED [ 34%] tests/test_https.py::Thttps::test_gio SKIPPED (Only on Flatpak linux) [ 34%] tests/test_https.py::Thttps::test_soup SKIPPED (Only on Flatpak linux) [ 34%] tests/test_https.py::Thttps::test_urllib SKIPPED (Only on Flatpak linux) [ 34%] tests/test_https.py::Thttps::test_urllib_build_opener SKIPPED (Only on Flatpak linux) [ 34%] tests/test_https.py::Thttps::test_urllib_default SKIPPED (Only on Flatpak linux) [ 34%] tests/test_icons.py::TIconTheme::test_icon_theme PASSED [ 34%] tests/test_image_support.py::Timage_support::test_create_pixbuf PASSED [ 34%] tests/test_image_support.py::Timage_support::test_cursors PASSED [ 34%] tests/test_library_album.py::TAlbumLibrary::test_get PASSED [ 34%] tests/test_library_album.py::TAlbumLibrary::test_getitem PASSED [ 34%] tests/test_library_album.py::TAlbumLibrary::test_has_key PASSED [ 34%] tests/test_library_album.py::TAlbumLibrary::test_items PASSED [ 34%] tests/test_library_album.py::TAlbumLibrary::test_items_2 PASSED [ 34%] tests/test_library_album.py::TAlbumLibrary::test_keys PASSED [ 34%] tests/test_library_album.py::TAlbumLibrary::test_misc PASSED [ 34%] tests/test_library_album.py::TAlbumLibrary::test_misc_collection PASSED [ 34%] tests/test_library_album.py::TAlbumLibrary::test_remove PASSED [ 34%] tests/test_library_album.py::TAlbumLibrarySignals::test_add_one PASSED [ 34%] tests/test_library_album.py::TAlbumLibrarySignals::test_add_two_same PASSED [ 35%] tests/test_library_album.py::TAlbumLibrarySignals::test_change PASSED [ 35%] tests/test_library_album.py::TAlbumLibrarySignals::test_remove PASSED [ 35%] tests/test_library_file.py::TLibrary::test___contains__ <- tests/test_library_libraries.py PASSED [ 35%] tests/test_library_file.py::TLibrary::test___getitem__ <- tests/test_library_libraries.py PASSED [ 35%] tests/test_library_file.py::TLibrary::test___getitem___not_present <- tests/test_library_libraries.py PASSED [ 35%] tests/test_library_file.py::TLibrary::test___iter__ <- tests/test_library_libraries.py PASSED [ 35%] tests/test_library_file.py::TLibrary::test___iter___empty <- tests/test_library_libraries.py PASSED [ 35%] tests/test_library_file.py::TLibrary::test___len__ <- tests/test_library_libraries.py PASSED [ 35%] tests/test_library_file.py::TLibrary::test_add <- tests/test_library_libraries.py PASSED [ 35%] tests/test_library_file.py::TLibrary::test_changed <- tests/test_library_libraries.py PASSED [ 35%] tests/test_library_file.py::TLibrary::test_changed_none_present <- tests/test_library_libraries.py PASSED [ 35%] tests/test_library_file.py::TLibrary::test_changed_not_present <- tests/test_library_libraries.py PASSED [ 35%] tests/test_library_file.py::TLibrary::test_get <- tests/test_library_libraries.py PASSED [ 35%] tests/test_library_file.py::TLibrary::test_has_key <- tests/test_library_libraries.py PASSED [ 35%] tests/test_library_file.py::TLibrary::test_items <- tests/test_library_libraries.py PASSED [ 35%] tests/test_library_file.py::TLibrary::test_keys <- tests/test_library_libraries.py PASSED [ 35%] tests/test_library_file.py::TLibrary::test_remove <- tests/test_library_libraries.py PASSED [ 35%] tests/test_library_file.py::TLibrary::test_remove_when_not_present <- tests/test_library_libraries.py PASSED [ 35%] tests/test_library_file.py::TLibrary::test_values <- tests/test_library_libraries.py PASSED [ 35%] tests/test_library_file.py::TFileLibrary::test___contains__ <- tests/test_library_libraries.py PASSED [ 35%] tests/test_library_file.py::TFileLibrary::test___getitem__ <- tests/test_library_libraries.py PASSED [ 35%] tests/test_library_file.py::TFileLibrary::test___getitem___not_present <- tests/test_library_libraries.py PASSED [ 35%] tests/test_library_file.py::TFileLibrary::test___iter__ <- tests/test_library_libraries.py PASSED [ 35%] tests/test_library_file.py::TFileLibrary::test___iter___empty <- tests/test_library_libraries.py PASSED [ 35%] tests/test_library_file.py::TFileLibrary::test___len__ <- tests/test_library_libraries.py PASSED [ 35%] tests/test_library_file.py::TFileLibrary::test_add <- tests/test_library_libraries.py PASSED [ 35%] tests/test_library_file.py::TFileLibrary::test_changed <- tests/test_library_libraries.py PASSED [ 35%] tests/test_library_file.py::TFileLibrary::test_changed_none_present <- tests/test_library_libraries.py PASSED [ 35%] tests/test_library_file.py::TFileLibrary::test_changed_not_present <- tests/test_library_libraries.py PASSED [ 35%] tests/test_library_file.py::TFileLibrary::test_content_masked PASSED [ 35%] tests/test_library_file.py::TFileLibrary::test_get <- tests/test_library_libraries.py PASSED [ 35%] tests/test_library_file.py::TFileLibrary::test_has_key <- tests/test_library_libraries.py PASSED [ 35%] tests/test_library_file.py::TFileLibrary::test_init_masked PASSED [ 35%] tests/test_library_file.py::TFileLibrary::test_items <- tests/test_library_libraries.py PASSED [ 36%] tests/test_library_file.py::TFileLibrary::test_keys <- tests/test_library_libraries.py PASSED [ 36%] tests/test_library_file.py::TFileLibrary::test_load_init_nonmasked PASSED [ 36%] tests/test_library_file.py::TFileLibrary::test_mask_basic PASSED [ 36%] tests/test_library_file.py::TFileLibrary::test_mask_invalid_mount_point PASSED [ 36%] tests/test_library_file.py::TFileLibrary::test_move_root PASSED [ 36%] tests/test_library_file.py::TFileLibrary::test_move_root_gone_source_dir PASSED [ 36%] tests/test_library_file.py::TFileLibrary::test_reload PASSED [ 36%] tests/test_library_file.py::TFileLibrary::test_remove <- tests/test_library_libraries.py PASSED [ 36%] tests/test_library_file.py::TFileLibrary::test_remove_masked PASSED [ 36%] tests/test_library_file.py::TFileLibrary::test_remove_roots PASSED [ 36%] tests/test_library_file.py::TFileLibrary::test_remove_when_not_present <- tests/test_library_libraries.py PASSED [ 36%] tests/test_library_file.py::TFileLibrary::test_values <- tests/test_library_libraries.py PASSED [ 36%] tests/test_library_file.py::TWatchedFileLibrary::test___contains__ <- tests/test_library_libraries.py PASSED [ 36%] tests/test_library_file.py::TWatchedFileLibrary::test___getitem__ <- tests/test_library_libraries.py PASSED [ 36%] tests/test_library_file.py::TWatchedFileLibrary::test___getitem___not_present <- tests/test_library_libraries.py PASSED [ 36%] tests/test_library_file.py::TWatchedFileLibrary::test___iter__ <- tests/test_library_libraries.py PASSED [ 36%] tests/test_library_file.py::TWatchedFileLibrary::test___iter___empty <- tests/test_library_libraries.py PASSED [ 36%] tests/test_library_file.py::TWatchedFileLibrary::test___len__ <- tests/test_library_libraries.py PASSED [ 36%] tests/test_library_file.py::TWatchedFileLibrary::test_add <- tests/test_library_libraries.py PASSED [ 36%] tests/test_library_file.py::TWatchedFileLibrary::test_changed <- tests/test_library_libraries.py PASSED [ 36%] tests/test_library_file.py::TWatchedFileLibrary::test_changed_none_present <- tests/test_library_libraries.py PASSED [ 36%] tests/test_library_file.py::TWatchedFileLibrary::test_changed_not_present <- tests/test_library_libraries.py PASSED [ 36%] tests/test_library_file.py::TWatchedFileLibrary::test_get <- tests/test_library_libraries.py PASSED [ 36%] tests/test_library_file.py::TWatchedFileLibrary::test_has_key <- tests/test_library_libraries.py PASSED [ 36%] tests/test_library_file.py::TWatchedFileLibrary::test_items <- tests/test_library_libraries.py PASSED [ 36%] tests/test_library_file.py::TWatchedFileLibrary::test_keys <- tests/test_library_libraries.py PASSED [ 36%] tests/test_library_file.py::TWatchedFileLibrary::test_monitors PASSED [ 36%] tests/test_library_file.py::TWatchedFileLibrary::test_remove <- tests/test_library_libraries.py PASSED [ 36%] tests/test_library_file.py::TWatchedFileLibrary::test_remove_when_not_present <- tests/test_library_libraries.py PASSED [ 36%] tests/test_library_file.py::TWatchedFileLibrary::test_test_setup PASSED [ 36%] tests/test_library_file.py::TWatchedFileLibrary::test_values <- tests/test_library_libraries.py PASSED [ 36%] tests/test_library_file.py::TWatchedFileLibrary::test_watched_adding PASSED [ 36%] tests/test_library_file.py::TWatchedFileLibrary::test_watched_adding_removing PASSED [ 36%] tests/test_library_file.py::TWatchedFileLibrary::test_watched_moving_dir PASSED [ 37%] tests/test_library_file.py::TWatchedFileLibrary::test_watched_moving_song PASSED [ 37%] tests/test_library_librarians.py::TLibrarian::test___contains__ PASSED [ 37%] tests/test_library_librarians.py::TLibrarian::test___getitem__ PASSED [ 37%] tests/test_library_librarians.py::TLibrarian::test___getitem___not_present PASSED [ 37%] tests/test_library_librarians.py::TLibrarian::test_added PASSED [ 37%] tests/test_library_librarians.py::TLibrarian::test_changed PASSED [ 37%] tests/test_library_librarians.py::TLibrarian::test_libraries PASSED [ 37%] tests/test_library_librarians.py::TLibrarian::test_register_at_instantiation PASSED [ 37%] tests/test_library_librarians.py::TLibrarian::test_register_exists PASSED [ 37%] tests/test_library_librarians.py::TLibrarian::test_register_later PASSED [ 37%] tests/test_library_librarians.py::TLibrarian::test_removed PASSED [ 37%] tests/test_library_librarians.py::TLibrarian::test_unregister PASSED [ 37%] tests/test_library_librarians.py::TSongLibrarian::test___contains__ PASSED [ 37%] tests/test_library_librarians.py::TSongLibrarian::test___getitem__ PASSED [ 37%] tests/test_library_librarians.py::TSongLibrarian::test___getitem___not_present PASSED [ 37%] tests/test_library_librarians.py::TSongLibrarian::test_added PASSED [ 37%] tests/test_library_librarians.py::TSongLibrarian::test_changed PASSED [ 37%] tests/test_library_librarians.py::TSongLibrarian::test_libraries PASSED [ 37%] tests/test_library_librarians.py::TSongLibrarian::test_register_at_instantiation PASSED [ 37%] tests/test_library_librarians.py::TSongLibrarian::test_register_exists PASSED [ 37%] tests/test_library_librarians.py::TSongLibrarian::test_register_later PASSED [ 37%] tests/test_library_librarians.py::TSongLibrarian::test_reload PASSED [ 37%] tests/test_library_librarians.py::TSongLibrarian::test_removed PASSED [ 37%] tests/test_library_librarians.py::TSongLibrarian::test_rename PASSED [ 37%] tests/test_library_librarians.py::TSongLibrarian::test_rename_changed PASSED [ 37%] tests/test_library_librarians.py::TSongLibrarian::test_tag_values PASSED [ 37%] tests/test_library_librarians.py::TSongLibrarian::test_unregister PASSED [ 37%] tests/test_library_libraries.py::TLibrary::test___contains__ PASSED [ 37%] tests/test_library_libraries.py::TLibrary::test___getitem__ PASSED [ 37%] tests/test_library_libraries.py::TLibrary::test___getitem___not_present PASSED [ 37%] tests/test_library_libraries.py::TLibrary::test___iter__ PASSED [ 37%] tests/test_library_libraries.py::TLibrary::test___iter___empty PASSED [ 37%] tests/test_library_libraries.py::TLibrary::test___len__ PASSED [ 37%] tests/test_library_libraries.py::TLibrary::test_add PASSED [ 38%] tests/test_library_libraries.py::TLibrary::test_changed PASSED [ 38%] tests/test_library_libraries.py::TLibrary::test_changed_none_present PASSED [ 38%] tests/test_library_libraries.py::TLibrary::test_changed_not_present PASSED [ 38%] tests/test_library_libraries.py::TLibrary::test_get PASSED [ 38%] tests/test_library_libraries.py::TLibrary::test_has_key PASSED [ 38%] tests/test_library_libraries.py::TLibrary::test_items PASSED [ 38%] tests/test_library_libraries.py::TLibrary::test_keys PASSED [ 38%] tests/test_library_libraries.py::TLibrary::test_remove PASSED [ 38%] tests/test_library_libraries.py::TLibrary::test_remove_when_not_present PASSED [ 38%] tests/test_library_libraries.py::TLibrary::test_values PASSED [ 38%] tests/test_library_libraries.py::TPicklingMixin::test_load_invalid PASSED [ 38%] tests/test_library_libraries.py::TPicklingMixin::test_load_noexist PASSED [ 38%] tests/test_library_libraries.py::TPicklingMixin::test_save_load PASSED [ 38%] tests/test_library_libraries.py::Titer_paths::test_empty PASSED [ 38%] tests/test_library_libraries.py::Titer_paths::test_hidden_dir PASSED [ 38%] tests/test_library_libraries.py::Titer_paths::test_hidden_file PASSED [ 38%] tests/test_library_libraries.py::Titer_paths::test_one_file PASSED [ 38%] tests/test_library_libraries.py::Titer_paths::test_one_file_exclude PASSED [ 38%] tests/test_library_libraries.py::Titer_paths::test_with_dir_symlink PASSED [ 38%] tests/test_library_libraries.py::Titer_paths::test_with_file PASSED [ 38%] tests/test_library_playlist.py::TPlaylistLibrary::test_backup PASSED [ 38%] tests/test_library_playlist.py::TPlaylistLibrary::test_dotfiles_ignored PASSED [ 38%] tests/test_library_playlist.py::TPlaylistLibrary::test_get PASSED [ 38%] tests/test_library_playlist.py::TPlaylistLibrary::test_has_key PASSED [ 38%] tests/test_library_playlist.py::TPlaylistLibrary::test_items PASSED [ 38%] tests/test_library_playlist.py::TPlaylistLibrary::test_keys PASSED [ 38%] tests/test_library_playlist.py::TPlaylistLibrary::test_migrate PASSED [ 38%] tests/test_library_playlist.py::TPlaylistLibrary::test_misc PASSED [ 38%] tests/test_library_playlist.py::TPlaylistLibrary::test_misc_collection PASSED [ 38%] tests/test_library_playlist.py::TPlaylistLibrary::test_old_playlist_removed PASSED [ 38%] tests/test_library_playlist.py::TPlaylistLibrary::test_remove_songs PASSED [ 38%] tests/test_library_playlist.py::TPlaylistLibrary::test_save_with_name PASSED [ 38%] tests/test_library_playlist.py::TPlaylistLibrarySignals::test_add_remove PASSED [ 38%] tests/test_library_playlist.py::TPlaylistLibrarySignals::test_rename_playlist_emits_changed PASSED [ 38%] tests/test_library_playlist.py::TPlaylistLibrarySignals::test_songs_changes_have_no_effect PASSED [ 39%] tests/test_library_song.py::TLibrary::test___contains__ <- tests/test_library_libraries.py PASSED [ 39%] tests/test_library_song.py::TLibrary::test___getitem__ <- tests/test_library_libraries.py PASSED [ 39%] tests/test_library_song.py::TLibrary::test___getitem___not_present <- tests/test_library_libraries.py PASSED [ 39%] tests/test_library_song.py::TLibrary::test___iter__ <- tests/test_library_libraries.py PASSED [ 39%] tests/test_library_song.py::TLibrary::test___iter___empty <- tests/test_library_libraries.py PASSED [ 39%] tests/test_library_song.py::TLibrary::test___len__ <- tests/test_library_libraries.py PASSED [ 39%] tests/test_library_song.py::TLibrary::test_add <- tests/test_library_libraries.py PASSED [ 39%] tests/test_library_song.py::TLibrary::test_changed <- tests/test_library_libraries.py PASSED [ 39%] tests/test_library_song.py::TLibrary::test_changed_none_present <- tests/test_library_libraries.py PASSED [ 39%] tests/test_library_song.py::TLibrary::test_changed_not_present <- tests/test_library_libraries.py PASSED [ 39%] tests/test_library_song.py::TLibrary::test_get <- tests/test_library_libraries.py PASSED [ 39%] tests/test_library_song.py::TLibrary::test_has_key <- tests/test_library_libraries.py PASSED [ 39%] tests/test_library_song.py::TLibrary::test_items <- tests/test_library_libraries.py PASSED [ 39%] tests/test_library_song.py::TLibrary::test_keys <- tests/test_library_libraries.py PASSED [ 39%] tests/test_library_song.py::TLibrary::test_remove <- tests/test_library_libraries.py PASSED [ 39%] tests/test_library_song.py::TLibrary::test_remove_when_not_present <- tests/test_library_libraries.py PASSED [ 39%] tests/test_library_song.py::TLibrary::test_values <- tests/test_library_libraries.py PASSED [ 39%] tests/test_library_song.py::TSongLibrary::test___contains__ <- tests/test_library_libraries.py PASSED [ 39%] tests/test_library_song.py::TSongLibrary::test___getitem__ <- tests/test_library_libraries.py PASSED [ 39%] tests/test_library_song.py::TSongLibrary::test___getitem___not_present <- tests/test_library_libraries.py PASSED [ 39%] tests/test_library_song.py::TSongLibrary::test___iter__ <- tests/test_library_libraries.py PASSED [ 39%] tests/test_library_song.py::TSongLibrary::test___iter___empty <- tests/test_library_libraries.py PASSED [ 39%] tests/test_library_song.py::TSongLibrary::test___len__ <- tests/test_library_libraries.py PASSED [ 39%] tests/test_library_song.py::TSongLibrary::test_add <- tests/test_library_libraries.py PASSED [ 39%] tests/test_library_song.py::TSongLibrary::test_changed <- tests/test_library_libraries.py PASSED [ 39%] tests/test_library_song.py::TSongLibrary::test_changed_none_present <- tests/test_library_libraries.py PASSED [ 39%] tests/test_library_song.py::TSongLibrary::test_changed_not_present <- tests/test_library_libraries.py PASSED [ 39%] tests/test_library_song.py::TSongLibrary::test_get <- tests/test_library_libraries.py PASSED [ 39%] tests/test_library_song.py::TSongLibrary::test_has_key <- tests/test_library_libraries.py PASSED [ 39%] tests/test_library_song.py::TSongLibrary::test_items <- tests/test_library_libraries.py PASSED [ 39%] tests/test_library_song.py::TSongLibrary::test_keys <- tests/test_library_libraries.py PASSED [ 39%] tests/test_library_song.py::TSongLibrary::test_remove <- tests/test_library_libraries.py PASSED [ 39%] tests/test_library_song.py::TSongLibrary::test_remove_when_not_present <- tests/test_library_libraries.py PASSED [ 39%] tests/test_library_song.py::TSongLibrary::test_rename PASSED [ 40%] tests/test_library_song.py::TSongLibrary::test_rename_changed PASSED [ 40%] tests/test_library_song.py::TSongLibrary::test_rename_dirty PASSED [ 40%] tests/test_library_song.py::TSongLibrary::test_tag_values PASSED [ 40%] tests/test_library_song.py::TSongLibrary::test_values <- tests/test_library_libraries.py PASSED [ 40%] tests/test_library_song.py::TSongFileLibrary::test___contains__ <- tests/test_library_libraries.py PASSED [ 40%] tests/test_library_song.py::TSongFileLibrary::test___getitem__ <- tests/test_library_libraries.py PASSED [ 40%] tests/test_library_song.py::TSongFileLibrary::test___getitem___not_present <- tests/test_library_libraries.py PASSED [ 40%] tests/test_library_song.py::TSongFileLibrary::test___iter__ <- tests/test_library_libraries.py PASSED [ 40%] tests/test_library_song.py::TSongFileLibrary::test___iter___empty <- tests/test_library_libraries.py PASSED [ 40%] tests/test_library_song.py::TSongFileLibrary::test___len__ <- tests/test_library_libraries.py PASSED [ 40%] tests/test_library_song.py::TSongFileLibrary::test__load_error_during_reload PASSED [ 40%] tests/test_library_song.py::TSongFileLibrary::test__load_exists_invalid PASSED [ 40%] tests/test_library_song.py::TSongFileLibrary::test__load_not_exists PASSED [ 40%] tests/test_library_song.py::TSongFileLibrary::test__load_not_mounted PASSED [ 40%] tests/test_library_song.py::TSongFileLibrary::test_add <- tests/test_library_libraries.py PASSED [ 40%] tests/test_library_song.py::TSongFileLibrary::test_add_filename PASSED [ 40%] tests/test_library_song.py::TSongFileLibrary::test_add_filename_normalize_path PASSED [ 40%] tests/test_library_song.py::TSongFileLibrary::test_changed <- tests/test_library_libraries.py PASSED [ 40%] tests/test_library_song.py::TSongFileLibrary::test_changed_none_present <- tests/test_library_libraries.py PASSED [ 40%] tests/test_library_song.py::TSongFileLibrary::test_changed_not_present <- tests/test_library_libraries.py PASSED [ 40%] tests/test_library_song.py::TSongFileLibrary::test_contains_filename PASSED [ 40%] tests/test_library_song.py::TSongFileLibrary::test_get <- tests/test_library_libraries.py PASSED [ 40%] tests/test_library_song.py::TSongFileLibrary::test_has_key <- tests/test_library_libraries.py PASSED [ 40%] tests/test_library_song.py::TSongFileLibrary::test_items <- tests/test_library_libraries.py PASSED [ 40%] tests/test_library_song.py::TSongFileLibrary::test_keys <- tests/test_library_libraries.py PASSED [ 40%] tests/test_library_song.py::TSongFileLibrary::test_playlists_featuring PASSED [ 40%] tests/test_library_song.py::TSongFileLibrary::test_remove <- tests/test_library_libraries.py PASSED [ 40%] tests/test_library_song.py::TSongFileLibrary::test_remove_when_not_present <- tests/test_library_libraries.py PASSED [ 40%] tests/test_library_song.py::TSongFileLibrary::test_rename PASSED [ 40%] tests/test_library_song.py::TSongFileLibrary::test_rename_changed PASSED [ 40%] tests/test_library_song.py::TSongFileLibrary::test_rename_dirty PASSED [ 40%] tests/test_library_song.py::TSongFileLibrary::test_tag_values PASSED [ 40%] tests/test_library_song.py::TSongFileLibrary::test_values <- tests/test_library_libraries.py PASSED [ 40%] tests/test_metadata.py::testcase::test_artist PASSED [ 41%] tests/test_metadata.py::testcase::test_base_data PASSED [ 41%] tests/test_metadata.py::testcase::test_date PASSED [ 41%] tests/test_metadata.py::testcase::test_genre PASSED [ 41%] tests/test_metadata.py::testcase::test_mutability PASSED [ 41%] tests/test_metadata.py::testcase::test_odd_performer PASSED [ 41%] tests/test_metadata.py::testcase::test_tag_album PASSED [ 41%] tests/test_metadata.py::testcase::test_tag_arranger PASSED [ 41%] tests/test_metadata.py::testcase::test_tag_author PASSED [ 41%] tests/test_metadata.py::testcase::test_tag_comment PASSED [ 41%] tests/test_metadata.py::testcase::test_tag_composer PASSED [ 41%] tests/test_metadata.py::testcase::test_tag_conductor PASSED [ 41%] tests/test_metadata.py::testcase::test_tag_copyright PASSED [ 41%] tests/test_metadata.py::testcase::test_tag_discnumber PASSED [ 41%] tests/test_metadata.py::testcase::test_tag_encodedby PASSED [ 41%] tests/test_metadata.py::testcase::test_tag_isrc PASSED [ 41%] tests/test_metadata.py::testcase::test_tag_language PASSED [ 41%] tests/test_metadata.py::testcase::test_tag_license PASSED [ 41%] tests/test_metadata.py::testcase::test_tag_lyricist PASSED [ 41%] tests/test_metadata.py::testcase::test_tag_musicbrainz_trackid PASSED [ 41%] tests/test_metadata.py::testcase::test_tag_organization PASSED [ 41%] tests/test_metadata.py::testcase::test_tag_performer PASSED [ 41%] tests/test_metadata.py::testcase::test_tag_releasecountry PASSED [ 41%] tests/test_metadata.py::testcase::test_tag_title PASSED [ 41%] tests/test_metadata.py::testcase::test_tag_tracknumber PASSED [ 41%] tests/test_metadata.py::testcase::test_tag_version PASSED [ 41%] tests/test_metadata.py::testcase::test_tag_xyzzy_undefined_tag PASSED [ 41%] tests/test_metadata.py::testcase::test_tags_album PASSED [ 41%] tests/test_metadata.py::testcase::test_tags_arranger PASSED [ 41%] tests/test_metadata.py::testcase::test_tags_author PASSED [ 41%] tests/test_metadata.py::testcase::test_tags_comment PASSED [ 41%] tests/test_metadata.py::testcase::test_tags_composer PASSED [ 41%] tests/test_metadata.py::testcase::test_tags_conductor PASSED [ 41%] tests/test_metadata.py::testcase::test_tags_copyright PASSED [ 41%] tests/test_metadata.py::testcase::test_tags_discnumber PASSED [ 42%] tests/test_metadata.py::testcase::test_tags_encodedby PASSED [ 42%] tests/test_metadata.py::testcase::test_tags_isrc PASSED [ 42%] tests/test_metadata.py::testcase::test_tags_language PASSED [ 42%] tests/test_metadata.py::testcase::test_tags_license PASSED [ 42%] tests/test_metadata.py::testcase::test_tags_lyricist PASSED [ 42%] tests/test_metadata.py::testcase::test_tags_musicbrainz_trackid PASSED [ 42%] tests/test_metadata.py::testcase::test_tags_organization PASSED [ 42%] tests/test_metadata.py::testcase::test_tags_performer PASSED [ 42%] tests/test_metadata.py::testcase::test_tags_releasecountry PASSED [ 42%] tests/test_metadata.py::testcase::test_tags_title PASSED [ 42%] tests/test_metadata.py::testcase::test_tags_tracknumber PASSED [ 42%] tests/test_metadata.py::testcase::test_tags_version PASSED [ 42%] tests/test_metadata.py::testcase::test_tags_xyzzy_undefined_tag PASSED [ 42%] tests/test_metadata.py::testcase::test_wackjob PASSED [ 42%] tests/test_metadata.py::MetaData.ogg::test_artist PASSED [ 42%] tests/test_metadata.py::MetaData.ogg::test_base_data PASSED [ 42%] tests/test_metadata.py::MetaData.ogg::test_date PASSED [ 42%] tests/test_metadata.py::MetaData.ogg::test_genre PASSED [ 42%] tests/test_metadata.py::MetaData.ogg::test_mutability PASSED [ 42%] tests/test_metadata.py::MetaData.ogg::test_odd_performer PASSED [ 42%] tests/test_metadata.py::MetaData.ogg::test_tag_album PASSED [ 42%] tests/test_metadata.py::MetaData.ogg::test_tag_arranger PASSED [ 42%] tests/test_metadata.py::MetaData.ogg::test_tag_author PASSED [ 42%] tests/test_metadata.py::MetaData.ogg::test_tag_comment PASSED [ 42%] tests/test_metadata.py::MetaData.ogg::test_tag_composer PASSED [ 42%] tests/test_metadata.py::MetaData.ogg::test_tag_conductor PASSED [ 42%] tests/test_metadata.py::MetaData.ogg::test_tag_copyright PASSED [ 42%] tests/test_metadata.py::MetaData.ogg::test_tag_discnumber PASSED [ 42%] tests/test_metadata.py::MetaData.ogg::test_tag_encodedby PASSED [ 42%] tests/test_metadata.py::MetaData.ogg::test_tag_isrc PASSED [ 42%] tests/test_metadata.py::MetaData.ogg::test_tag_language PASSED [ 42%] tests/test_metadata.py::MetaData.ogg::test_tag_license PASSED [ 42%] tests/test_metadata.py::MetaData.ogg::test_tag_lyricist PASSED [ 42%] tests/test_metadata.py::MetaData.ogg::test_tag_musicbrainz_trackid PASSED [ 43%] tests/test_metadata.py::MetaData.ogg::test_tag_organization PASSED [ 43%] tests/test_metadata.py::MetaData.ogg::test_tag_performer PASSED [ 43%] tests/test_metadata.py::MetaData.ogg::test_tag_releasecountry PASSED [ 43%] tests/test_metadata.py::MetaData.ogg::test_tag_title PASSED [ 43%] tests/test_metadata.py::MetaData.ogg::test_tag_tracknumber PASSED [ 43%] tests/test_metadata.py::MetaData.ogg::test_tag_version PASSED [ 43%] tests/test_metadata.py::MetaData.ogg::test_tag_xyzzy_undefined_tag PASSED [ 43%] tests/test_metadata.py::MetaData.ogg::test_tags_album PASSED [ 43%] tests/test_metadata.py::MetaData.ogg::test_tags_arranger PASSED [ 43%] tests/test_metadata.py::MetaData.ogg::test_tags_author PASSED [ 43%] tests/test_metadata.py::MetaData.ogg::test_tags_comment PASSED [ 43%] tests/test_metadata.py::MetaData.ogg::test_tags_composer PASSED [ 43%] tests/test_metadata.py::MetaData.ogg::test_tags_conductor PASSED [ 43%] tests/test_metadata.py::MetaData.ogg::test_tags_copyright PASSED [ 43%] tests/test_metadata.py::MetaData.ogg::test_tags_discnumber PASSED [ 43%] tests/test_metadata.py::MetaData.ogg::test_tags_encodedby PASSED [ 43%] tests/test_metadata.py::MetaData.ogg::test_tags_isrc PASSED [ 43%] tests/test_metadata.py::MetaData.ogg::test_tags_language PASSED [ 43%] tests/test_metadata.py::MetaData.ogg::test_tags_license PASSED [ 43%] tests/test_metadata.py::MetaData.ogg::test_tags_lyricist PASSED [ 43%] tests/test_metadata.py::MetaData.ogg::test_tags_musicbrainz_trackid PASSED [ 43%] tests/test_metadata.py::MetaData.ogg::test_tags_organization PASSED [ 43%] tests/test_metadata.py::MetaData.ogg::test_tags_performer PASSED [ 43%] tests/test_metadata.py::MetaData.ogg::test_tags_releasecountry PASSED [ 43%] tests/test_metadata.py::MetaData.ogg::test_tags_title PASSED [ 43%] tests/test_metadata.py::MetaData.ogg::test_tags_tracknumber PASSED [ 43%] tests/test_metadata.py::MetaData.ogg::test_tags_version PASSED [ 43%] tests/test_metadata.py::MetaData.ogg::test_tags_xyzzy_undefined_tag PASSED [ 43%] tests/test_metadata.py::MetaData.ogg::test_wackjob PASSED [ 43%] tests/test_metadata.py::MetaData.flac::test_artist PASSED [ 43%] tests/test_metadata.py::MetaData.flac::test_base_data PASSED [ 43%] tests/test_metadata.py::MetaData.flac::test_date PASSED [ 43%] tests/test_metadata.py::MetaData.flac::test_genre PASSED [ 43%] tests/test_metadata.py::MetaData.flac::test_mutability PASSED [ 44%] tests/test_metadata.py::MetaData.flac::test_odd_performer PASSED [ 44%] tests/test_metadata.py::MetaData.flac::test_tag_album PASSED [ 44%] tests/test_metadata.py::MetaData.flac::test_tag_arranger PASSED [ 44%] tests/test_metadata.py::MetaData.flac::test_tag_author PASSED [ 44%] tests/test_metadata.py::MetaData.flac::test_tag_comment PASSED [ 44%] tests/test_metadata.py::MetaData.flac::test_tag_composer PASSED [ 44%] tests/test_metadata.py::MetaData.flac::test_tag_conductor PASSED [ 44%] tests/test_metadata.py::MetaData.flac::test_tag_copyright PASSED [ 44%] tests/test_metadata.py::MetaData.flac::test_tag_discnumber PASSED [ 44%] tests/test_metadata.py::MetaData.flac::test_tag_encodedby PASSED [ 44%] tests/test_metadata.py::MetaData.flac::test_tag_isrc PASSED [ 44%] tests/test_metadata.py::MetaData.flac::test_tag_language PASSED [ 44%] tests/test_metadata.py::MetaData.flac::test_tag_license PASSED [ 44%] tests/test_metadata.py::MetaData.flac::test_tag_lyricist PASSED [ 44%] tests/test_metadata.py::MetaData.flac::test_tag_musicbrainz_trackid PASSED [ 44%] tests/test_metadata.py::MetaData.flac::test_tag_organization PASSED [ 44%] tests/test_metadata.py::MetaData.flac::test_tag_performer PASSED [ 44%] tests/test_metadata.py::MetaData.flac::test_tag_releasecountry PASSED [ 44%] tests/test_metadata.py::MetaData.flac::test_tag_title PASSED [ 44%] tests/test_metadata.py::MetaData.flac::test_tag_tracknumber PASSED [ 44%] tests/test_metadata.py::MetaData.flac::test_tag_version PASSED [ 44%] tests/test_metadata.py::MetaData.flac::test_tag_xyzzy_undefined_tag PASSED [ 44%] tests/test_metadata.py::MetaData.flac::test_tags_album PASSED [ 44%] tests/test_metadata.py::MetaData.flac::test_tags_arranger PASSED [ 44%] tests/test_metadata.py::MetaData.flac::test_tags_author PASSED [ 44%] tests/test_metadata.py::MetaData.flac::test_tags_comment PASSED [ 44%] tests/test_metadata.py::MetaData.flac::test_tags_composer PASSED [ 44%] tests/test_metadata.py::MetaData.flac::test_tags_conductor PASSED [ 44%] tests/test_metadata.py::MetaData.flac::test_tags_copyright PASSED [ 44%] tests/test_metadata.py::MetaData.flac::test_tags_discnumber PASSED [ 44%] tests/test_metadata.py::MetaData.flac::test_tags_encodedby PASSED [ 44%] tests/test_metadata.py::MetaData.flac::test_tags_isrc PASSED [ 44%] tests/test_metadata.py::MetaData.flac::test_tags_language PASSED [ 44%] tests/test_metadata.py::MetaData.flac::test_tags_license PASSED [ 45%] tests/test_metadata.py::MetaData.flac::test_tags_lyricist PASSED [ 45%] tests/test_metadata.py::MetaData.flac::test_tags_musicbrainz_trackid PASSED [ 45%] tests/test_metadata.py::MetaData.flac::test_tags_organization PASSED [ 45%] tests/test_metadata.py::MetaData.flac::test_tags_performer PASSED [ 45%] tests/test_metadata.py::MetaData.flac::test_tags_releasecountry PASSED [ 45%] tests/test_metadata.py::MetaData.flac::test_tags_title PASSED [ 45%] tests/test_metadata.py::MetaData.flac::test_tags_tracknumber PASSED [ 45%] tests/test_metadata.py::MetaData.flac::test_tags_version PASSED [ 45%] tests/test_metadata.py::MetaData.flac::test_tags_xyzzy_undefined_tag PASSED [ 45%] tests/test_metadata.py::MetaData.flac::test_wackjob PASSED [ 45%] tests/test_metadata.py::MetaData.spx::test_artist PASSED [ 45%] tests/test_metadata.py::MetaData.spx::test_base_data PASSED [ 45%] tests/test_metadata.py::MetaData.spx::test_date PASSED [ 45%] tests/test_metadata.py::MetaData.spx::test_genre PASSED [ 45%] tests/test_metadata.py::MetaData.spx::test_mutability PASSED [ 45%] tests/test_metadata.py::MetaData.spx::test_odd_performer PASSED [ 45%] tests/test_metadata.py::MetaData.spx::test_tag_album PASSED [ 45%] tests/test_metadata.py::MetaData.spx::test_tag_arranger PASSED [ 45%] tests/test_metadata.py::MetaData.spx::test_tag_author PASSED [ 45%] tests/test_metadata.py::MetaData.spx::test_tag_comment PASSED [ 45%] tests/test_metadata.py::MetaData.spx::test_tag_composer PASSED [ 45%] tests/test_metadata.py::MetaData.spx::test_tag_conductor PASSED [ 45%] tests/test_metadata.py::MetaData.spx::test_tag_copyright PASSED [ 45%] tests/test_metadata.py::MetaData.spx::test_tag_discnumber PASSED [ 45%] tests/test_metadata.py::MetaData.spx::test_tag_encodedby PASSED [ 45%] tests/test_metadata.py::MetaData.spx::test_tag_isrc PASSED [ 45%] tests/test_metadata.py::MetaData.spx::test_tag_language PASSED [ 45%] tests/test_metadata.py::MetaData.spx::test_tag_license PASSED [ 45%] tests/test_metadata.py::MetaData.spx::test_tag_lyricist PASSED [ 45%] tests/test_metadata.py::MetaData.spx::test_tag_musicbrainz_trackid PASSED [ 45%] tests/test_metadata.py::MetaData.spx::test_tag_organization PASSED [ 45%] tests/test_metadata.py::MetaData.spx::test_tag_performer PASSED [ 45%] tests/test_metadata.py::MetaData.spx::test_tag_releasecountry PASSED [ 45%] tests/test_metadata.py::MetaData.spx::test_tag_title PASSED [ 46%] tests/test_metadata.py::MetaData.spx::test_tag_tracknumber PASSED [ 46%] tests/test_metadata.py::MetaData.spx::test_tag_version PASSED [ 46%] tests/test_metadata.py::MetaData.spx::test_tag_xyzzy_undefined_tag PASSED [ 46%] tests/test_metadata.py::MetaData.spx::test_tags_album PASSED [ 46%] tests/test_metadata.py::MetaData.spx::test_tags_arranger PASSED [ 46%] tests/test_metadata.py::MetaData.spx::test_tags_author PASSED [ 46%] tests/test_metadata.py::MetaData.spx::test_tags_comment PASSED [ 46%] tests/test_metadata.py::MetaData.spx::test_tags_composer PASSED [ 46%] tests/test_metadata.py::MetaData.spx::test_tags_conductor PASSED [ 46%] tests/test_metadata.py::MetaData.spx::test_tags_copyright PASSED [ 46%] tests/test_metadata.py::MetaData.spx::test_tags_discnumber PASSED [ 46%] tests/test_metadata.py::MetaData.spx::test_tags_encodedby PASSED [ 46%] tests/test_metadata.py::MetaData.spx::test_tags_isrc PASSED [ 46%] tests/test_metadata.py::MetaData.spx::test_tags_language PASSED [ 46%] tests/test_metadata.py::MetaData.spx::test_tags_license PASSED [ 46%] tests/test_metadata.py::MetaData.spx::test_tags_lyricist PASSED [ 46%] tests/test_metadata.py::MetaData.spx::test_tags_musicbrainz_trackid PASSED [ 46%] tests/test_metadata.py::MetaData.spx::test_tags_organization PASSED [ 46%] tests/test_metadata.py::MetaData.spx::test_tags_performer PASSED [ 46%] tests/test_metadata.py::MetaData.spx::test_tags_releasecountry PASSED [ 46%] tests/test_metadata.py::MetaData.spx::test_tags_title PASSED [ 46%] tests/test_metadata.py::MetaData.spx::test_tags_tracknumber PASSED [ 46%] tests/test_metadata.py::MetaData.spx::test_tags_version PASSED [ 46%] tests/test_metadata.py::MetaData.spx::test_tags_xyzzy_undefined_tag PASSED [ 46%] tests/test_metadata.py::MetaData.spx::test_wackjob PASSED [ 46%] tests/test_metadata.py::MetaData.tta::test_artist PASSED [ 46%] tests/test_metadata.py::MetaData.tta::test_base_data PASSED [ 46%] tests/test_metadata.py::MetaData.tta::test_date PASSED [ 46%] tests/test_metadata.py::MetaData.tta::test_genre PASSED [ 46%] tests/test_metadata.py::MetaData.tta::test_mutability PASSED [ 46%] tests/test_metadata.py::MetaData.tta::test_odd_performer PASSED [ 46%] tests/test_metadata.py::MetaData.tta::test_tag_album PASSED [ 46%] tests/test_metadata.py::MetaData.tta::test_tag_arranger PASSED [ 46%] tests/test_metadata.py::MetaData.tta::test_tag_author PASSED [ 46%] tests/test_metadata.py::MetaData.tta::test_tag_comment PASSED [ 47%] tests/test_metadata.py::MetaData.tta::test_tag_composer PASSED [ 47%] tests/test_metadata.py::MetaData.tta::test_tag_conductor PASSED [ 47%] tests/test_metadata.py::MetaData.tta::test_tag_copyright PASSED [ 47%] tests/test_metadata.py::MetaData.tta::test_tag_discnumber PASSED [ 47%] tests/test_metadata.py::MetaData.tta::test_tag_encodedby PASSED [ 47%] tests/test_metadata.py::MetaData.tta::test_tag_isrc PASSED [ 47%] tests/test_metadata.py::MetaData.tta::test_tag_language PASSED [ 47%] tests/test_metadata.py::MetaData.tta::test_tag_license PASSED [ 47%] tests/test_metadata.py::MetaData.tta::test_tag_lyricist PASSED [ 47%] tests/test_metadata.py::MetaData.tta::test_tag_musicbrainz_trackid PASSED [ 47%] tests/test_metadata.py::MetaData.tta::test_tag_organization PASSED [ 47%] tests/test_metadata.py::MetaData.tta::test_tag_performer PASSED [ 47%] tests/test_metadata.py::MetaData.tta::test_tag_releasecountry PASSED [ 47%] tests/test_metadata.py::MetaData.tta::test_tag_title PASSED [ 47%] tests/test_metadata.py::MetaData.tta::test_tag_tracknumber PASSED [ 47%] tests/test_metadata.py::MetaData.tta::test_tag_version PASSED [ 47%] tests/test_metadata.py::MetaData.tta::test_tag_xyzzy_undefined_tag PASSED [ 47%] tests/test_metadata.py::MetaData.tta::test_tags_album PASSED [ 47%] tests/test_metadata.py::MetaData.tta::test_tags_arranger PASSED [ 47%] tests/test_metadata.py::MetaData.tta::test_tags_author PASSED [ 47%] tests/test_metadata.py::MetaData.tta::test_tags_comment PASSED [ 47%] tests/test_metadata.py::MetaData.tta::test_tags_composer PASSED [ 47%] tests/test_metadata.py::MetaData.tta::test_tags_conductor PASSED [ 47%] tests/test_metadata.py::MetaData.tta::test_tags_copyright PASSED [ 47%] tests/test_metadata.py::MetaData.tta::test_tags_discnumber PASSED [ 47%] tests/test_metadata.py::MetaData.tta::test_tags_encodedby PASSED [ 47%] tests/test_metadata.py::MetaData.tta::test_tags_isrc PASSED [ 47%] tests/test_metadata.py::MetaData.tta::test_tags_language PASSED [ 47%] tests/test_metadata.py::MetaData.tta::test_tags_license PASSED [ 47%] tests/test_metadata.py::MetaData.tta::test_tags_lyricist PASSED [ 47%] tests/test_metadata.py::MetaData.tta::test_tags_musicbrainz_trackid PASSED [ 47%] tests/test_metadata.py::MetaData.tta::test_tags_organization PASSED [ 47%] tests/test_metadata.py::MetaData.tta::test_tags_performer PASSED [ 47%] tests/test_metadata.py::MetaData.tta::test_tags_releasecountry PASSED [ 48%] tests/test_metadata.py::MetaData.tta::test_tags_title PASSED [ 48%] tests/test_metadata.py::MetaData.tta::test_tags_tracknumber PASSED [ 48%] tests/test_metadata.py::MetaData.tta::test_tags_version PASSED [ 48%] tests/test_metadata.py::MetaData.tta::test_tags_xyzzy_undefined_tag PASSED [ 48%] tests/test_metadata.py::MetaData.tta::test_wackjob PASSED [ 48%] tests/test_metadata.py::MetaData.ape::test_artist PASSED [ 48%] tests/test_metadata.py::MetaData.ape::test_base_data PASSED [ 48%] tests/test_metadata.py::MetaData.ape::test_date PASSED [ 48%] tests/test_metadata.py::MetaData.ape::test_genre PASSED [ 48%] tests/test_metadata.py::MetaData.ape::test_mutability PASSED [ 48%] tests/test_metadata.py::MetaData.ape::test_odd_performer PASSED [ 48%] tests/test_metadata.py::MetaData.ape::test_tag_album PASSED [ 48%] tests/test_metadata.py::MetaData.ape::test_tag_arranger PASSED [ 48%] tests/test_metadata.py::MetaData.ape::test_tag_author PASSED [ 48%] tests/test_metadata.py::MetaData.ape::test_tag_comment PASSED [ 48%] tests/test_metadata.py::MetaData.ape::test_tag_composer PASSED [ 48%] tests/test_metadata.py::MetaData.ape::test_tag_conductor PASSED [ 48%] tests/test_metadata.py::MetaData.ape::test_tag_copyright PASSED [ 48%] tests/test_metadata.py::MetaData.ape::test_tag_discnumber PASSED [ 48%] tests/test_metadata.py::MetaData.ape::test_tag_encodedby PASSED [ 48%] tests/test_metadata.py::MetaData.ape::test_tag_isrc PASSED [ 48%] tests/test_metadata.py::MetaData.ape::test_tag_language PASSED [ 48%] tests/test_metadata.py::MetaData.ape::test_tag_license PASSED [ 48%] tests/test_metadata.py::MetaData.ape::test_tag_lyricist PASSED [ 48%] tests/test_metadata.py::MetaData.ape::test_tag_musicbrainz_trackid PASSED [ 48%] tests/test_metadata.py::MetaData.ape::test_tag_organization PASSED [ 48%] tests/test_metadata.py::MetaData.ape::test_tag_performer PASSED [ 48%] tests/test_metadata.py::MetaData.ape::test_tag_releasecountry PASSED [ 48%] tests/test_metadata.py::MetaData.ape::test_tag_title PASSED [ 48%] tests/test_metadata.py::MetaData.ape::test_tag_tracknumber PASSED [ 48%] tests/test_metadata.py::MetaData.ape::test_tag_version PASSED [ 48%] tests/test_metadata.py::MetaData.ape::test_tag_xyzzy_undefined_tag PASSED [ 48%] tests/test_metadata.py::MetaData.ape::test_tags_album PASSED [ 48%] tests/test_metadata.py::MetaData.ape::test_tags_arranger PASSED [ 49%] tests/test_metadata.py::MetaData.ape::test_tags_author PASSED [ 49%] tests/test_metadata.py::MetaData.ape::test_tags_comment PASSED [ 49%] tests/test_metadata.py::MetaData.ape::test_tags_composer PASSED [ 49%] tests/test_metadata.py::MetaData.ape::test_tags_conductor PASSED [ 49%] tests/test_metadata.py::MetaData.ape::test_tags_copyright PASSED [ 49%] tests/test_metadata.py::MetaData.ape::test_tags_discnumber PASSED [ 49%] tests/test_metadata.py::MetaData.ape::test_tags_encodedby PASSED [ 49%] tests/test_metadata.py::MetaData.ape::test_tags_isrc PASSED [ 49%] tests/test_metadata.py::MetaData.ape::test_tags_language PASSED [ 49%] tests/test_metadata.py::MetaData.ape::test_tags_license PASSED [ 49%] tests/test_metadata.py::MetaData.ape::test_tags_lyricist PASSED [ 49%] tests/test_metadata.py::MetaData.ape::test_tags_musicbrainz_trackid PASSED [ 49%] tests/test_metadata.py::MetaData.ape::test_tags_organization PASSED [ 49%] tests/test_metadata.py::MetaData.ape::test_tags_performer PASSED [ 49%] tests/test_metadata.py::MetaData.ape::test_tags_releasecountry PASSED [ 49%] tests/test_metadata.py::MetaData.ape::test_tags_title PASSED [ 49%] tests/test_metadata.py::MetaData.ape::test_tags_tracknumber PASSED [ 49%] tests/test_metadata.py::MetaData.ape::test_tags_version PASSED [ 49%] tests/test_metadata.py::MetaData.ape::test_tags_xyzzy_undefined_tag PASSED [ 49%] tests/test_metadata.py::MetaData.ape::test_wackjob PASSED [ 49%] tests/test_metadata.py::MetaData.mpc::test_artist PASSED [ 49%] tests/test_metadata.py::MetaData.mpc::test_base_data PASSED [ 49%] tests/test_metadata.py::MetaData.mpc::test_date PASSED [ 49%] tests/test_metadata.py::MetaData.mpc::test_genre PASSED [ 49%] tests/test_metadata.py::MetaData.mpc::test_mutability PASSED [ 49%] tests/test_metadata.py::MetaData.mpc::test_odd_performer PASSED [ 49%] tests/test_metadata.py::MetaData.mpc::test_tag_album PASSED [ 49%] tests/test_metadata.py::MetaData.mpc::test_tag_arranger PASSED [ 49%] tests/test_metadata.py::MetaData.mpc::test_tag_author PASSED [ 49%] tests/test_metadata.py::MetaData.mpc::test_tag_comment PASSED [ 49%] tests/test_metadata.py::MetaData.mpc::test_tag_composer PASSED [ 49%] tests/test_metadata.py::MetaData.mpc::test_tag_conductor PASSED [ 49%] tests/test_metadata.py::MetaData.mpc::test_tag_copyright PASSED [ 49%] tests/test_metadata.py::MetaData.mpc::test_tag_discnumber PASSED [ 50%] tests/test_metadata.py::MetaData.mpc::test_tag_encodedby PASSED [ 50%] tests/test_metadata.py::MetaData.mpc::test_tag_isrc PASSED [ 50%] tests/test_metadata.py::MetaData.mpc::test_tag_language PASSED [ 50%] tests/test_metadata.py::MetaData.mpc::test_tag_license PASSED [ 50%] tests/test_metadata.py::MetaData.mpc::test_tag_lyricist PASSED [ 50%] tests/test_metadata.py::MetaData.mpc::test_tag_musicbrainz_trackid PASSED [ 50%] tests/test_metadata.py::MetaData.mpc::test_tag_organization PASSED [ 50%] tests/test_metadata.py::MetaData.mpc::test_tag_performer PASSED [ 50%] tests/test_metadata.py::MetaData.mpc::test_tag_releasecountry PASSED [ 50%] tests/test_metadata.py::MetaData.mpc::test_tag_title PASSED [ 50%] tests/test_metadata.py::MetaData.mpc::test_tag_tracknumber PASSED [ 50%] tests/test_metadata.py::MetaData.mpc::test_tag_version PASSED [ 50%] tests/test_metadata.py::MetaData.mpc::test_tag_xyzzy_undefined_tag PASSED [ 50%] tests/test_metadata.py::MetaData.mpc::test_tags_album PASSED [ 50%] tests/test_metadata.py::MetaData.mpc::test_tags_arranger PASSED [ 50%] tests/test_metadata.py::MetaData.mpc::test_tags_author PASSED [ 50%] tests/test_metadata.py::MetaData.mpc::test_tags_comment PASSED [ 50%] tests/test_metadata.py::MetaData.mpc::test_tags_composer PASSED [ 50%] tests/test_metadata.py::MetaData.mpc::test_tags_conductor PASSED [ 50%] tests/test_metadata.py::MetaData.mpc::test_tags_copyright PASSED [ 50%] tests/test_metadata.py::MetaData.mpc::test_tags_discnumber PASSED [ 50%] tests/test_metadata.py::MetaData.mpc::test_tags_encodedby PASSED [ 50%] tests/test_metadata.py::MetaData.mpc::test_tags_isrc PASSED [ 50%] tests/test_metadata.py::MetaData.mpc::test_tags_language PASSED [ 50%] tests/test_metadata.py::MetaData.mpc::test_tags_license PASSED [ 50%] tests/test_metadata.py::MetaData.mpc::test_tags_lyricist PASSED [ 50%] tests/test_metadata.py::MetaData.mpc::test_tags_musicbrainz_trackid PASSED [ 50%] tests/test_metadata.py::MetaData.mpc::test_tags_organization PASSED [ 50%] tests/test_metadata.py::MetaData.mpc::test_tags_performer PASSED [ 50%] tests/test_metadata.py::MetaData.mpc::test_tags_releasecountry PASSED [ 50%] tests/test_metadata.py::MetaData.mpc::test_tags_title PASSED [ 50%] tests/test_metadata.py::MetaData.mpc::test_tags_tracknumber PASSED [ 50%] tests/test_metadata.py::MetaData.mpc::test_tags_version PASSED [ 50%] tests/test_metadata.py::MetaData.mpc::test_tags_xyzzy_undefined_tag PASSED [ 51%] tests/test_metadata.py::MetaData.mpc::test_wackjob PASSED [ 51%] tests/test_metadata.py::MetaData.wv::test_artist PASSED [ 51%] tests/test_metadata.py::MetaData.wv::test_base_data PASSED [ 51%] tests/test_metadata.py::MetaData.wv::test_date PASSED [ 51%] tests/test_metadata.py::MetaData.wv::test_genre PASSED [ 51%] tests/test_metadata.py::MetaData.wv::test_mutability PASSED [ 51%] tests/test_metadata.py::MetaData.wv::test_odd_performer PASSED [ 51%] tests/test_metadata.py::MetaData.wv::test_tag_album PASSED [ 51%] tests/test_metadata.py::MetaData.wv::test_tag_arranger PASSED [ 51%] tests/test_metadata.py::MetaData.wv::test_tag_author PASSED [ 51%] tests/test_metadata.py::MetaData.wv::test_tag_comment PASSED [ 51%] tests/test_metadata.py::MetaData.wv::test_tag_composer PASSED [ 51%] tests/test_metadata.py::MetaData.wv::test_tag_conductor PASSED [ 51%] tests/test_metadata.py::MetaData.wv::test_tag_copyright PASSED [ 51%] tests/test_metadata.py::MetaData.wv::test_tag_discnumber PASSED [ 51%] tests/test_metadata.py::MetaData.wv::test_tag_encodedby PASSED [ 51%] tests/test_metadata.py::MetaData.wv::test_tag_isrc PASSED [ 51%] tests/test_metadata.py::MetaData.wv::test_tag_language PASSED [ 51%] tests/test_metadata.py::MetaData.wv::test_tag_license PASSED [ 51%] tests/test_metadata.py::MetaData.wv::test_tag_lyricist PASSED [ 51%] tests/test_metadata.py::MetaData.wv::test_tag_musicbrainz_trackid PASSED [ 51%] tests/test_metadata.py::MetaData.wv::test_tag_organization PASSED [ 51%] tests/test_metadata.py::MetaData.wv::test_tag_performer PASSED [ 51%] tests/test_metadata.py::MetaData.wv::test_tag_releasecountry PASSED [ 51%] tests/test_metadata.py::MetaData.wv::test_tag_title PASSED [ 51%] tests/test_metadata.py::MetaData.wv::test_tag_tracknumber PASSED [ 51%] tests/test_metadata.py::MetaData.wv::test_tag_version PASSED [ 51%] tests/test_metadata.py::MetaData.wv::test_tag_xyzzy_undefined_tag PASSED [ 51%] tests/test_metadata.py::MetaData.wv::test_tags_album PASSED [ 51%] tests/test_metadata.py::MetaData.wv::test_tags_arranger PASSED [ 51%] tests/test_metadata.py::MetaData.wv::test_tags_author PASSED [ 51%] tests/test_metadata.py::MetaData.wv::test_tags_comment PASSED [ 51%] tests/test_metadata.py::MetaData.wv::test_tags_composer PASSED [ 51%] tests/test_metadata.py::MetaData.wv::test_tags_conductor PASSED [ 52%] tests/test_metadata.py::MetaData.wv::test_tags_copyright PASSED [ 52%] tests/test_metadata.py::MetaData.wv::test_tags_discnumber PASSED [ 52%] tests/test_metadata.py::MetaData.wv::test_tags_encodedby PASSED [ 52%] tests/test_metadata.py::MetaData.wv::test_tags_isrc PASSED [ 52%] tests/test_metadata.py::MetaData.wv::test_tags_language PASSED [ 52%] tests/test_metadata.py::MetaData.wv::test_tags_license PASSED [ 52%] tests/test_metadata.py::MetaData.wv::test_tags_lyricist PASSED [ 52%] tests/test_metadata.py::MetaData.wv::test_tags_musicbrainz_trackid PASSED [ 52%] tests/test_metadata.py::MetaData.wv::test_tags_organization PASSED [ 52%] tests/test_metadata.py::MetaData.wv::test_tags_performer PASSED [ 52%] tests/test_metadata.py::MetaData.wv::test_tags_releasecountry PASSED [ 52%] tests/test_metadata.py::MetaData.wv::test_tags_title PASSED [ 52%] tests/test_metadata.py::MetaData.wv::test_tags_tracknumber PASSED [ 52%] tests/test_metadata.py::MetaData.wv::test_tags_version PASSED [ 52%] tests/test_metadata.py::MetaData.wv::test_tags_xyzzy_undefined_tag PASSED [ 52%] tests/test_metadata.py::MetaData.wv::test_wackjob PASSED [ 52%] tests/test_metadata.py::MetaData.mp3::test_artist PASSED [ 52%] tests/test_metadata.py::MetaData.mp3::test_base_data PASSED [ 52%] tests/test_metadata.py::MetaData.mp3::test_date PASSED [ 52%] tests/test_metadata.py::MetaData.mp3::test_genre PASSED [ 52%] tests/test_metadata.py::MetaData.mp3::test_mutability PASSED [ 52%] tests/test_metadata.py::MetaData.mp3::test_odd_performer PASSED [ 52%] tests/test_metadata.py::MetaData.mp3::test_tag_album PASSED [ 52%] tests/test_metadata.py::MetaData.mp3::test_tag_arranger PASSED [ 52%] tests/test_metadata.py::MetaData.mp3::test_tag_author PASSED [ 52%] tests/test_metadata.py::MetaData.mp3::test_tag_comment PASSED [ 52%] tests/test_metadata.py::MetaData.mp3::test_tag_composer PASSED [ 52%] tests/test_metadata.py::MetaData.mp3::test_tag_conductor PASSED [ 52%] tests/test_metadata.py::MetaData.mp3::test_tag_copyright PASSED [ 52%] tests/test_metadata.py::MetaData.mp3::test_tag_discnumber PASSED [ 52%] tests/test_metadata.py::MetaData.mp3::test_tag_encodedby PASSED [ 52%] tests/test_metadata.py::MetaData.mp3::test_tag_isrc PASSED [ 52%] tests/test_metadata.py::MetaData.mp3::test_tag_language PASSED [ 52%] tests/test_metadata.py::MetaData.mp3::test_tag_license PASSED [ 53%] tests/test_metadata.py::MetaData.mp3::test_tag_lyricist PASSED [ 53%] tests/test_metadata.py::MetaData.mp3::test_tag_musicbrainz_trackid PASSED [ 53%] tests/test_metadata.py::MetaData.mp3::test_tag_organization PASSED [ 53%] tests/test_metadata.py::MetaData.mp3::test_tag_performer PASSED [ 53%] tests/test_metadata.py::MetaData.mp3::test_tag_releasecountry PASSED [ 53%] tests/test_metadata.py::MetaData.mp3::test_tag_title PASSED [ 53%] tests/test_metadata.py::MetaData.mp3::test_tag_tracknumber PASSED [ 53%] tests/test_metadata.py::MetaData.mp3::test_tag_version PASSED [ 53%] tests/test_metadata.py::MetaData.mp3::test_tag_xyzzy_undefined_tag PASSED [ 53%] tests/test_metadata.py::MetaData.mp3::test_tags_album PASSED [ 53%] tests/test_metadata.py::MetaData.mp3::test_tags_arranger PASSED [ 53%] tests/test_metadata.py::MetaData.mp3::test_tags_author PASSED [ 53%] tests/test_metadata.py::MetaData.mp3::test_tags_comment PASSED [ 53%] tests/test_metadata.py::MetaData.mp3::test_tags_composer PASSED [ 53%] tests/test_metadata.py::MetaData.mp3::test_tags_conductor PASSED [ 53%] tests/test_metadata.py::MetaData.mp3::test_tags_copyright PASSED [ 53%] tests/test_metadata.py::MetaData.mp3::test_tags_discnumber PASSED [ 53%] tests/test_metadata.py::MetaData.mp3::test_tags_encodedby PASSED [ 53%] tests/test_metadata.py::MetaData.mp3::test_tags_isrc PASSED [ 53%] tests/test_metadata.py::MetaData.mp3::test_tags_language PASSED [ 53%] tests/test_metadata.py::MetaData.mp3::test_tags_license PASSED [ 53%] tests/test_metadata.py::MetaData.mp3::test_tags_lyricist PASSED [ 53%] tests/test_metadata.py::MetaData.mp3::test_tags_musicbrainz_trackid PASSED [ 53%] tests/test_metadata.py::MetaData.mp3::test_tags_organization PASSED [ 53%] tests/test_metadata.py::MetaData.mp3::test_tags_performer PASSED [ 53%] tests/test_metadata.py::MetaData.mp3::test_tags_releasecountry PASSED [ 53%] tests/test_metadata.py::MetaData.mp3::test_tags_title PASSED [ 53%] tests/test_metadata.py::MetaData.mp3::test_tags_tracknumber PASSED [ 53%] tests/test_metadata.py::MetaData.mp3::test_tags_version PASSED [ 53%] tests/test_metadata.py::MetaData.mp3::test_tags_xyzzy_undefined_tag PASSED [ 53%] tests/test_metadata.py::MetaData.mp3::test_wackjob PASSED [ 53%] tests/test_mmkeys.py::TMmKeys::test_backends PASSED [ 53%] tests/test_mmkeys.py::TMmKeys::test_handler PASSED [ 53%] tests/test_operon.py::TOperonMain::test_main PASSED [ 53%] tests/test_operon.py::TOperonAdd::test_add_backlisted PASSED [ 54%] tests/test_operon.py::TOperonAdd::test_add_check PASSED [ 54%] tests/test_operon.py::TOperonAdd::test_add_misc PASSED [ 54%] tests/test_operon.py::TOperonAdd::test_permissions PASSED [ 54%] tests/test_operon.py::TOperonPrint::test_permissions PASSED [ 54%] tests/test_operon.py::TOperonPrint::test_print PASSED [ 54%] tests/test_operon.py::TOperonPrint::test_print_invalid PASSED [ 54%] tests/test_operon.py::TOperonRemove::test_dry_run PASSED [ 54%] tests/test_operon.py::TOperonRemove::test_error PASSED [ 54%] tests/test_operon.py::TOperonRemove::test_pattern PASSED [ 54%] tests/test_operon.py::TOperonRemove::test_remove PASSED [ 54%] tests/test_operon.py::TOperonClear::test_misc PASSED [ 54%] tests/test_operon.py::TOperonSet::test_misc PASSED [ 54%] tests/test_operon.py::TOperonSet::test_replace PASSED [ 54%] tests/test_operon.py::TOperonSet::test_simple PASSED [ 54%] tests/test_operon.py::TOperonCopy::test_add PASSED [ 54%] tests/test_operon.py::TOperonCopy::test_dry_run PASSED [ 54%] tests/test_operon.py::TOperonCopy::test_misc PASSED [ 54%] tests/test_operon.py::TOperonCopy::test_not_changable PASSED [ 54%] tests/test_operon.py::TOperonCopy::test_simple PASSED [ 54%] tests/test_operon.py::TOperonEdit::test_dry_run PASSED [ 54%] tests/test_operon.py::TOperonEdit::test_misc PASSED [ 54%] tests/test_operon.py::TOperonEdit::test_mtime PASSED [ 54%] tests/test_operon.py::TOperonEdit::test_multi_edit PASSED [ 54%] tests/test_operon.py::TOperonEdit::test_multi_remove_all PASSED [ 54%] tests/test_operon.py::TOperonEdit::test_no_edit PASSED [ 54%] tests/test_operon.py::TOperonEdit::test_nonexist_editor PASSED [ 54%] tests/test_operon.py::TOperonInfo::test_misc PASSED [ 54%] tests/test_operon.py::TOperonInfo::test_normal PASSED [ 54%] tests/test_operon.py::TOperonInfo::test_terse PASSED [ 54%] tests/test_operon.py::TOperonList::test_misc PASSED [ 54%] tests/test_operon.py::TOperonList::test_normal PASSED [ 54%] tests/test_operon.py::TOperonList::test_terse PASSED [ 54%] tests/test_operon.py::TOperonList::test_terse_escape PASSED [ 54%] tests/test_operon.py::TOperonTags::test_misc PASSED [ 55%] tests/test_operon.py::TOperonTags::test_normal PASSED [ 55%] tests/test_operon.py::TOperonTags::test_output PASSED [ 55%] tests/test_operon.py::TOperonTags::test_terse PASSED [ 55%] tests/test_operon.py::TOperonImageExtract::test_extract_all PASSED [ 55%] tests/test_operon.py::TOperonImageExtract::test_extract_primary PASSED [ 55%] tests/test_operon.py::TOperonImageExtract::test_misc PASSED [ 55%] tests/test_operon.py::TOperonImageSet::test_misc PASSED [ 55%] tests/test_operon.py::TOperonImageSet::test_not_supported PASSED [ 55%] tests/test_operon.py::TOperonImageSet::test_set PASSED [ 55%] tests/test_operon.py::TOperonImageSet::test_set_two PASSED [ 55%] tests/test_operon.py::TOperonImageClear::test_clear PASSED [ 55%] tests/test_operon.py::TOperonImageClear::test_misc PASSED [ 55%] tests/test_operon.py::TOperonImageClear::test_not_supported PASSED [ 55%] tests/test_operon.py::TOperonFill::test_apply PASSED [ 55%] tests/test_operon.py::TOperonFill::test_apply_no_match PASSED [ 55%] tests/test_operon.py::TOperonFill::test_misc PASSED [ 55%] tests/test_operon.py::TOperonFill::test_preview PASSED [ 55%] tests/test_operon.py::TOperonFill::test_preview_no_match PASSED [ 55%] tests/test_order.py::TOrderWeighted::test_weighted PASSED [ 55%] tests/test_order.py::TOrderShuffle::test_remaining PASSED [ 55%] tests/test_order.py::TOrderOneSong::test_remaining PASSED [ 55%] tests/test_pattern.py::TPattern::test_conditional_equals PASSED [ 55%] tests/test_pattern.py::TPattern::test_conditional_equals_unicode PASSED [ 55%] tests/test_pattern.py::TPattern::test_conditional_genre PASSED [ 55%] tests/test_pattern.py::TPattern::test_conditional_notfile PASSED [ 55%] tests/test_pattern.py::TPattern::test_conditional_number_dot_title PASSED [ 55%] tests/test_pattern.py::TPattern::test_conditional_other_number_dot_title PASSED [ 55%] tests/test_pattern.py::TPattern::test_conditional_other_other PASSED [ 55%] tests/test_pattern.py::TPattern::test_conditional_subdir PASSED [ 55%] tests/test_pattern.py::TPattern::test_conditional_unknown PASSED [ 55%] tests/test_pattern.py::TPattern::test_disjunction PASSED [ 55%] tests/test_pattern.py::TPattern::test_disjunction_chain PASSED [ 55%] tests/test_pattern.py::TPattern::test_disjunction_conjunction_nested PASSED [ 55%] tests/test_pattern.py::TPattern::test_duplicate_query PASSED [ 56%] tests/test_pattern.py::TPattern::test_escape PASSED [ 56%] tests/test_pattern.py::TPattern::test_generated PASSED [ 56%] tests/test_pattern.py::TPattern::test_generated_and_not_generated PASSED [ 56%] tests/test_pattern.py::TPattern::test_json PASSED [ 56%] tests/test_pattern.py::TPattern::test_number_dot_genre PASSED [ 56%] tests/test_pattern.py::TPattern::test_number_dot_title PASSED [ 56%] tests/test_pattern.py::TPattern::test_number_dot_title_dot PASSED [ 56%] tests/test_pattern.py::TPattern::test_numeric PASSED [ 56%] tests/test_pattern.py::TPattern::test_query_like_tag PASSED [ 56%] tests/test_pattern.py::TPattern::test_query_numeric PASSED [ 56%] tests/test_pattern.py::TPattern::test_query_scope PASSED [ 56%] tests/test_pattern.py::TPattern::test_recnumber_dot_title PASSED [ 56%] tests/test_pattern.py::TPattern::test_space PASSED [ 56%] tests/test_pattern.py::TPattern::test_tag_internal PASSED [ 56%] tests/test_pattern.py::TPattern::test_tag_query_disallowed_free_text PASSED [ 56%] tests/test_pattern.py::TPattern::test_tag_query_escaped_pipe PASSED [ 56%] tests/test_pattern.py::TPattern::test_tag_query_escaping PASSED [ 56%] tests/test_pattern.py::TPattern::test_tag_query_quoting PASSED [ 56%] tests/test_pattern.py::TPattern::test_tag_query_regex PASSED [ 56%] tests/test_pattern.py::TPattern::test_unicode_with_int PASSED [ 56%] tests/test_pattern.py::_TFileFromPattern::test_backslash_conversion_win32 PASSED [ 56%] tests/test_pattern.py::_TFileFromPattern::test_directory_rooting PASSED [ 56%] tests/test_pattern.py::_TFileFromPattern::test_escape_slash PASSED [ 56%] tests/test_pattern.py::_TFileFromPattern::test_long_filename PASSED [ 56%] tests/test_pattern.py::_TFileFromPattern::test_raw_slash_preservation PASSED [ 56%] tests/test_pattern.py::_TFileFromPattern::test_specialcase_anti_ext PASSED [ 56%] tests/test_pattern.py::TFileFromPattern::test_backslash_conversion_win32 PASSED [ 56%] tests/test_pattern.py::TFileFromPattern::test_directory_rooting PASSED [ 56%] tests/test_pattern.py::TFileFromPattern::test_escape_slash PASSED [ 56%] tests/test_pattern.py::TFileFromPattern::test_ext_case_preservation PASSED [ 56%] tests/test_pattern.py::TFileFromPattern::test_long_filename PASSED [ 56%] tests/test_pattern.py::TFileFromPattern::test_number_dot_title_dot PASSED [ 56%] tests/test_pattern.py::TFileFromPattern::test_raw_slash_preservation PASSED [ 56%] tests/test_pattern.py::TFileFromPattern::test_specialcase_anti_ext PASSED [ 57%] tests/test_pattern.py::TFileFromPattern::test_tracknumber_decimals PASSED [ 57%] tests/test_pattern.py::TFileFromPattern::test_type PASSED [ 57%] tests/test_pattern.py::TArbitraryExtensionFileFromPattern::test_backslash_conversion_win32 PASSED [ 57%] tests/test_pattern.py::TArbitraryExtensionFileFromPattern::test_constant_albumart_example PASSED [ 57%] tests/test_pattern.py::TArbitraryExtensionFileFromPattern::test_directory_rooting PASSED [ 57%] tests/test_pattern.py::TArbitraryExtensionFileFromPattern::test_escape_slash PASSED [ 57%] tests/test_pattern.py::TArbitraryExtensionFileFromPattern::test_extra_dots PASSED [ 57%] tests/test_pattern.py::TArbitraryExtensionFileFromPattern::test_long_filename PASSED [ 57%] tests/test_pattern.py::TArbitraryExtensionFileFromPattern::test_number_dot_title_dot PASSED [ 57%] tests/test_pattern.py::TArbitraryExtensionFileFromPattern::test_raw_slash_preservation PASSED [ 57%] tests/test_pattern.py::TArbitraryExtensionFileFromPattern::test_specialcase_anti_ext PASSED [ 57%] tests/test_pattern.py::TArbitraryExtensionFileFromPattern::test_tracknumber_decimals PASSED [ 57%] tests/test_pattern.py::TXMLFromPattern::test_cond_markup PASSED [ 57%] tests/test_pattern.py::TXMLFromPattern::test_escape PASSED [ 57%] tests/test_pattern.py::TXMLFromPattern::test_markup_passthrough PASSED [ 57%] tests/test_pattern.py::TXMLFromMarkupPattern::test_convenience PASSED [ 57%] tests/test_pattern.py::TXMLFromMarkupPattern::test_convenience_invalid PASSED [ 57%] tests/test_pattern.py::TXMLFromMarkupPattern::test_escape PASSED [ 57%] tests/test_pattern.py::TXMLFromMarkupPattern::test_link PASSED [ 57%] tests/test_pattern.py::TXMLFromMarkupPattern::test_span PASSED [ 57%] tests/test_pattern.py::TRealTags::test_both PASSED [ 57%] tests/test_pattern.py::TRealTags::test_empty PASSED [ 57%] tests/test_pattern.py::TPatternFormatList::test_empty PASSED [ 57%] tests/test_pattern.py::TPatternFormatList::test_missing_value PASSED [ 57%] tests/test_pattern.py::TPatternFormatList::test_numeric PASSED [ 57%] tests/test_pattern.py::TPatternFormatList::test_same PASSED [ 57%] tests/test_pattern.py::TPatternFormatList::test_same2 PASSED [ 57%] tests/test_pattern.py::TPatternFormatList::test_sort PASSED [ 57%] tests/test_pattern.py::TPatternFormatList::test_sort_combine PASSED [ 57%] tests/test_pattern.py::TPatternFormatList::test_sort_multiply PASSED [ 57%] tests/test_pattern.py::TPatternFormatList::test_sort_tied PASSED [ 57%] tests/test_pattern.py::TPatternFormatList::test_string PASSED [ 57%] tests/test_pattern.py::TPatternFormatList::test_tied PASSED [ 57%] tests/test_player.py::TNullPlayer::test_can_play_uri_null PASSED [ 58%] tests/test_player.py::TNullPlayer::test_equalizer PASSED [ 58%] tests/test_player.py::TNullPlayer::test_goto PASSED [ 58%] tests/test_player.py::TNullPlayer::test_goto_unknown PASSED [ 58%] tests/test_player.py::TNullPlayer::test_mute PASSED [ 58%] tests/test_player.py::TNullPlayer::test_next PASSED [ 58%] tests/test_player.py::TNullPlayer::test_pause_on_goto_none PASSED [ 58%] tests/test_player.py::TNullPlayer::test_paused PASSED [ 58%] tests/test_player.py::TNullPlayer::test_play PASSED [ 58%] tests/test_player.py::TNullPlayer::test_playpause PASSED [ 58%] tests/test_player.py::TNullPlayer::test_preserve_volume PASSED [ 58%] tests/test_player.py::TNullPlayer::test_previous PASSED [ 58%] tests/test_player.py::TNullPlayer::test_previous_force PASSED [ 58%] tests/test_player.py::TNullPlayer::test_previous_seek PASSED [ 58%] tests/test_player.py::TNullPlayer::test_previous_skip PASSED [ 58%] tests/test_player.py::TNullPlayer::test_remove PASSED [ 58%] tests/test_player.py::TNullPlayer::test_replaygain PASSED [ 58%] tests/test_player.py::TNullPlayer::test_reset PASSED [ 58%] tests/test_player.py::TNullPlayer::test_seek_in_song_started PASSED [ 58%] tests/test_player.py::TNullPlayer::test_seek_signal PASSED [ 58%] tests/test_player.py::TNullPlayer::test_seekable PASSED [ 58%] tests/test_player.py::TNullPlayer::test_song_start PASSED [ 58%] tests/test_player.py::TNullPlayer::test_stop PASSED [ 58%] tests/test_player.py::TNullPlayer::test_unpause_while_no_song PASSED [ 58%] tests/test_player.py::TNullPlayer::test_volume PASSED [ 58%] tests/test_player.py::TNullPlayer::test_volume_cubic PASSED [ 58%] tests/test_player.py::TXinePlayer::test_can_play_uri_xine PASSED [ 58%] tests/test_player.py::TXinePlayer::test_equalizer PASSED [ 58%] tests/test_player.py::TXinePlayer::test_goto PASSED [ 58%] tests/test_player.py::TXinePlayer::test_goto_unknown PASSED [ 58%] tests/test_player.py::TXinePlayer::test_mute PASSED [ 58%] tests/test_player.py::TXinePlayer::test_next PASSED [ 58%] tests/test_player.py::TXinePlayer::test_pause_on_goto_none PASSED [ 58%] tests/test_player.py::TXinePlayer::test_paused PASSED [ 58%] tests/test_player.py::TXinePlayer::test_play PASSED [ 59%] tests/test_player.py::TXinePlayer::test_playpause PASSED [ 59%] tests/test_player.py::TXinePlayer::test_preserve_volume PASSED [ 59%] tests/test_player.py::TXinePlayer::test_previous PASSED [ 59%] tests/test_player.py::TXinePlayer::test_remove PASSED [ 59%] tests/test_player.py::TXinePlayer::test_replaygain PASSED [ 59%] tests/test_player.py::TXinePlayer::test_reset PASSED [ 59%] tests/test_player.py::TXinePlayer::test_seek_in_song_started PASSED [ 59%] tests/test_player.py::TXinePlayer::test_seek_signal PASSED [ 59%] tests/test_player.py::TXinePlayer::test_seekable PASSED [ 59%] tests/test_player.py::TXinePlayer::test_song_start PASSED [ 59%] tests/test_player.py::TXinePlayer::test_unpause_while_no_song PASSED [ 59%] tests/test_player.py::TXinePlayer::test_volume PASSED [ 59%] tests/test_player.py::TXinePlayer::test_volume_cubic PASSED [ 59%] tests/test_player.py::TGstPlayer::test_can_play_uri_gst PASSED [ 59%] tests/test_player.py::TGstPlayer::test_equalizer PASSED [ 59%] tests/test_player.py::TGstPlayer::test_goto PASSED [ 59%] tests/test_player.py::TGstPlayer::test_goto_unknown PASSED [ 59%] tests/test_player.py::TGstPlayer::test_mute PASSED [ 59%] tests/test_player.py::TGstPlayer::test_next PASSED [ 59%] tests/test_player.py::TGstPlayer::test_pause_on_goto_none PASSED [ 59%] tests/test_player.py::TGstPlayer::test_paused PASSED [ 59%] tests/test_player.py::TGstPlayer::test_play PASSED [ 59%] tests/test_player.py::TGstPlayer::test_playpause PASSED [ 59%] tests/test_player.py::TGstPlayer::test_preserve_volume PASSED [ 59%] tests/test_player.py::TGstPlayer::test_previous PASSED [ 59%] tests/test_player.py::TGstPlayer::test_remove PASSED [ 59%] tests/test_player.py::TGstPlayer::test_replaygain PASSED [ 59%] tests/test_player.py::TGstPlayer::test_reset PASSED [ 59%] tests/test_player.py::TGstPlayer::test_seek_in_song_started PASSED [ 59%] tests/test_player.py::TGstPlayer::test_seek_signal PASSED [ 59%] tests/test_player.py::TGstPlayer::test_seekable PASSED [ 59%] tests/test_player.py::TGstPlayer::test_song_start PASSED [ 59%] tests/test_player.py::TGstPlayer::test_unpause_while_no_song PASSED [ 59%] tests/test_player.py::TGstPlayer::test_volume PASSED [ 60%] tests/test_player.py::TGstPlayer::test_volume_cubic PASSED [ 60%] tests/test_player.py::TVolume::test_add PASSED [ 60%] tests/test_player.py::TVolume::test_add_boundry PASSED [ 60%] tests/test_player.py::TVolume::test_setget PASSED [ 60%] tests/test_player.py::TVolume::test_sub PASSED [ 60%] tests/test_player.py::TVolume::test_sub_boundry PASSED [ 60%] tests/test_player_gst.py::TGstPlayerPrefs::test_main PASSED [ 60%] tests/test_player_gst.py::TGStreamerSink::test_append_sink PASSED [ 60%] tests/test_player_gst.py::TGStreamerSink::test_fallback PASSED [ 60%] tests/test_player_gst.py::TGStreamerSink::test_invalid PASSED [ 60%] tests/test_player_gst.py::TGStreamerSink::test_simple PASSED [ 60%] tests/test_player_gst.py::TGstreamerTagList::test_parse PASSED [ 60%] tests/test_player_gst.py::TGstreamerTagList::test_sanitize PASSED [ 60%] tests/test_player_gst.py::TGStreamerCodecs::test_decode_all SKIPPED (no control over gst) [ 60%] tests/test_player_xine.py::TXinePlaylistPlayer::test_init PASSED [ 60%] tests/test_player_xine.py::TXinePlaylistPlayer::test_init_device_non_existing PASSED [ 60%] tests/test_playlist_menu.py::TPlaylistMenu::test__on_new_playlist_activate PASSED [ 60%] tests/test_playlist_util.py::TPlaylistUtil::test_dir_for PASSED [ 60%] tests/test_playlist_util.py::TPlaylistUtil::test_parse_m3u8 PASSED [ 60%] tests/test_plugin_manager.py::test_default_plugins_from_config PASSED [ 60%] tests/test_plugins___init__.py::TSongWrapper::test_bookmark PASSED [ 60%] tests/test_plugins___init__.py::TSongWrapper::test_can_change PASSED [ 60%] tests/test_plugins___init__.py::TSongWrapper::test_cmp PASSED [ 60%] tests/test_plugins___init__.py::TSongWrapper::test_comma PASSED [ 60%] tests/test_plugins___init__.py::TSongWrapper::test_delitem PASSED [ 60%] tests/test_plugins___init__.py::TSongWrapper::test_dicty PASSED [ 60%] tests/test_plugins___init__.py::TSongWrapper::test_get PASSED [ 60%] tests/test_plugins___init__.py::TSongWrapper::test_getitem PASSED [ 60%] tests/test_plugins___init__.py::TSongWrapper::test_list PASSED [ 60%] tests/test_plugins___init__.py::TSongWrapper::test_mtime PASSED [ 60%] tests/test_plugins___init__.py::TSongWrapper::test_needs_write_no PASSED [ 60%] tests/test_plugins___init__.py::TSongWrapper::test_needs_write_yes PASSED [ 60%] tests/test_plugins___init__.py::TSongWrapper::test_new_tag PASSED [ 60%] tests/test_plugins___init__.py::TSongWrapper::test_not_really_updated PASSED [ 61%] tests/test_plugins___init__.py::TSongWrapper::test_pop PASSED [ 61%] tests/test_plugins___init__.py::TSongWrapper::test_realkeys PASSED [ 61%] tests/test_plugins___init__.py::TSongWrapper::test_setitem PASSED [ 61%] tests/test_plugins___init__.py::TSongWrapper::test_slots PASSED [ 61%] tests/test_plugins___init__.py::TListWrapper::test_empty PASSED [ 61%] tests/test_plugins___init__.py::TListWrapper::test_empty_song PASSED [ 61%] tests/test_plugins___init__.py::TListWrapper::test_none PASSED [ 61%] tests/test_plugins___init__.py::TPluginConfig::test_defaults PASSED [ 61%] tests/test_plugins___init__.py::TPluginConfig::test_mapping PASSED [ 61%] tests/test_plugins_cover.py::TCoverManager::test_acquire_cover PASSED [ 61%] tests/test_plugins_cover.py::TCoverManager::test_acquire_cover_calls PASSED [ 61%] tests/test_plugins_cover.py::TCoverManager::test_acquire_cover_sync PASSED [ 61%] tests/test_plugins_cover.py::TCoverManager::test_has_builtin_covers PASSED [ 61%] tests/test_plugins_cover.py::TCoverManager::test_only_enabled PASSED [ 61%] tests/test_plugins_cover.py::TCoverManager::test_search PASSED [ 61%] tests/test_plugins_cover.py::TCoverManager::test_sources_sorted PASSED [ 61%] tests/test_plugins_cover.py::TCoverManagerBuiltin::test_acquire_prefer_embedded PASSED [ 61%] tests/test_plugins_cover.py::TCoverManagerBuiltin::test_connect_cover_changed PASSED [ 61%] tests/test_plugins_cover.py::TCoverManagerBuiltin::test_get_cover_many_prefer_embedded PASSED [ 61%] tests/test_plugins_cover.py::TCoverManagerBuiltin::test_get_primary_image PASSED [ 61%] tests/test_plugins_cover.py::TCoverManagerBuiltin::test_manager PASSED [ 61%] tests/test_plugins_events.py::TEventPlugins::test_found PASSED [ 61%] tests/test_plugins_events.py::TEventPlugins::test_lib_changed PASSED [ 61%] tests/test_plugins_events.py::TEventPlugins::test_player_paused PASSED [ 61%] tests/test_plugins_events.py::TEventPlugins::test_songs_selected PASSED [ 61%] tests/test_plugins_playlist.py::TPlaylistPlugins::test_additional_functions_still_only_one PASSED [ 61%] tests/test_plugins_playlist.py::TPlaylistPlugins::test_disables_plugin PASSED [ 61%] tests/test_plugins_playlist.py::TPlaylistPlugins::test_empty_has_no_plugins PASSED [ 61%] tests/test_plugins_playlist.py::TPlaylistPlugins::test_enabledisable_plugin PASSED [ 61%] tests/test_plugins_playlist.py::TPlaylistPlugins::test_handling_lots_of_songs_with_confirmation PASSED [ 61%] tests/test_plugins_playlist.py::TPlaylistPlugins::test_handling_playlists_without_confirmation PASSED [ 61%] tests/test_plugins_playlist.py::TPlaylistPlugins::test_ignores_broken_plugin PASSED [ 61%] tests/test_plugins_playlist.py::TPlaylistPlugins::test_name_and_desc_plus_func_is_one PASSED [ 61%] tests/test_plugins_playlist.py::TPlaylistPlugins::test_populate_menu PASSED [ 61%] tests/test_plugins_playlist.py::TPlaylistPlugins::test_two_plugins_are_two PASSED [ 62%] tests/test_plugins_songsmenu.py::TSongsMenuPlugins::test_Menu PASSED [ 62%] tests/test_plugins_songsmenu.py::TSongsMenuPlugins::test_additional_functions_still_only_one PASSED [ 62%] tests/test_plugins_songsmenu.py::TSongsMenuPlugins::test_disables_plugin PASSED [ 62%] tests/test_plugins_songsmenu.py::TSongsMenuPlugins::test_empty_has_no_plugins PASSED [ 62%] tests/test_plugins_songsmenu.py::TSongsMenuPlugins::test_enabledisable_plugin PASSED [ 62%] tests/test_plugins_songsmenu.py::TSongsMenuPlugins::test_handling_lots_of_songs_with_confirmation PASSED [ 62%] tests/test_plugins_songsmenu.py::TSongsMenuPlugins::test_handling_songs_without_confirmation PASSED [ 62%] tests/test_plugins_songsmenu.py::TSongsMenuPlugins::test_ignores_broken_plugin PASSED [ 62%] tests/test_plugins_songsmenu.py::TSongsMenuPlugins::test_name_and_desc_plus_func_is_one PASSED [ 62%] tests/test_plugins_songsmenu.py::TSongsMenuPlugins::test_two_plugins_are_two PASSED [ 62%] tests/test_plugins_songsmenu.py::Tsongsmenu::test_any_song PASSED [ 62%] tests/test_plugins_songsmenu.py::Tsongsmenu::test_any_song_multiple PASSED [ 62%] tests/test_plugins_songsmenu.py::Tsongsmenu::test_each_song PASSED [ 62%] tests/test_plugins_songsmenu.py::Tsongsmenu::test_each_song_multiple PASSED [ 62%] tests/test_po.py::test_potfile_format PASSED [ 62%] tests/test_po.py::TPOTFILESIN::test_no_extra_entries PASSED [ 62%] tests/test_po.py::TPot::test_ellipsis SKIPPED (polib not found) [ 62%] tests/test_po.py::TPot::test_label_capitals SKIPPED (polib not found) [ 62%] tests/test_po.py::TPot::test_leading_and_trailing_spaces SKIPPED (polib not found) [ 62%] tests/test_po.py::TPot::test_markup SKIPPED (polib not found) [ 62%] tests/test_po.py::TPot::test_multiple_format_placeholders SKIPPED (polib not found) [ 62%] tests/test_po.py::TPot::test_punctuation SKIPPED (polib not found) [ 62%] tests/test_po.py::TPot::test_terms_letter_case SKIPPED (polib not found) [ 62%] tests/test_po.py::TPot::test_terms_spelling SKIPPED (polib not found) [ 62%] tests/test_po.py::TPot::test_whitespace SKIPPED (polib not found) [ 62%] tests/test_po.py::testcase::test_gtk_stock_items PASSED [ 62%] tests/test_po.py::testcase::test_original_punctuation_present PASSED [ 62%] tests/test_po.py::testcase::test_pos PASSED [ 62%] tests/test_po.py::PO.bg::test_gtk_stock_items PASSED [ 62%] tests/test_po.py::PO.bg::test_original_punctuation_present PASSED [ 62%] tests/test_po.py::PO.bg::test_pos PASSED [ 62%] tests/test_po.py::PO.br::test_gtk_stock_items PASSED [ 62%] tests/test_po.py::PO.br::test_original_punctuation_present PASSED [ 62%] tests/test_po.py::PO.br::test_pos PASSED [ 63%] tests/test_po.py::PO.ca::test_gtk_stock_items PASSED [ 63%] tests/test_po.py::PO.ca::test_original_punctuation_present PASSED [ 63%] tests/test_po.py::PO.ca::test_pos PASSED [ 63%] tests/test_po.py::PO.cs::test_gtk_stock_items PASSED [ 63%] tests/test_po.py::PO.cs::test_original_punctuation_present PASSED [ 63%] tests/test_po.py::PO.cs::test_pos PASSED [ 63%] tests/test_po.py::PO.da::test_gtk_stock_items PASSED [ 63%] tests/test_po.py::PO.da::test_original_punctuation_present PASSED [ 63%] tests/test_po.py::PO.da::test_pos PASSED [ 63%] tests/test_po.py::PO.de::test_gtk_stock_items PASSED [ 63%] tests/test_po.py::PO.de::test_original_punctuation_present PASSED [ 63%] tests/test_po.py::PO.de::test_pos PASSED [ 63%] tests/test_po.py::PO.el::test_gtk_stock_items PASSED [ 63%] tests/test_po.py::PO.el::test_original_punctuation_present PASSED [ 63%] tests/test_po.py::PO.el::test_pos PASSED [ 63%] tests/test_po.py::PO.en_CA::test_gtk_stock_items PASSED [ 63%] tests/test_po.py::PO.en_CA::test_original_punctuation_present PASSED [ 63%] tests/test_po.py::PO.en_CA::test_pos PASSED [ 63%] tests/test_po.py::PO.en_GB::test_gtk_stock_items PASSED [ 63%] tests/test_po.py::PO.en_GB::test_original_punctuation_present PASSED [ 63%] tests/test_po.py::PO.en_GB::test_pos PASSED [ 63%] tests/test_po.py::PO.es::test_gtk_stock_items PASSED [ 63%] tests/test_po.py::PO.es::test_original_punctuation_present PASSED [ 63%] tests/test_po.py::PO.es::test_pos PASSED [ 63%] tests/test_po.py::PO.et::test_gtk_stock_items PASSED [ 63%] tests/test_po.py::PO.et::test_original_punctuation_present PASSED [ 63%] tests/test_po.py::PO.et::test_pos PASSED [ 63%] tests/test_po.py::PO.eu::test_gtk_stock_items PASSED [ 63%] tests/test_po.py::PO.eu::test_original_punctuation_present PASSED [ 63%] tests/test_po.py::PO.eu::test_pos PASSED [ 63%] tests/test_po.py::PO.fi::test_gtk_stock_items PASSED [ 63%] tests/test_po.py::PO.fi::test_original_punctuation_present PASSED [ 63%] tests/test_po.py::PO.fi::test_pos PASSED [ 63%] tests/test_po.py::PO.fr::test_gtk_stock_items PASSED [ 64%] tests/test_po.py::PO.fr::test_original_punctuation_present PASSED [ 64%] tests/test_po.py::PO.fr::test_pos PASSED [ 64%] tests/test_po.py::PO.gl::test_gtk_stock_items PASSED [ 64%] tests/test_po.py::PO.gl::test_original_punctuation_present PASSED [ 64%] tests/test_po.py::PO.gl::test_pos PASSED [ 64%] tests/test_po.py::PO.he::test_gtk_stock_items PASSED [ 64%] tests/test_po.py::PO.he::test_original_punctuation_present PASSED [ 64%] tests/test_po.py::PO.he::test_pos PASSED [ 64%] tests/test_po.py::PO.hu::test_gtk_stock_items PASSED [ 64%] tests/test_po.py::PO.hu::test_original_punctuation_present PASSED [ 64%] tests/test_po.py::PO.hu::test_pos PASSED [ 64%] tests/test_po.py::PO.id::test_gtk_stock_items PASSED [ 64%] tests/test_po.py::PO.id::test_original_punctuation_present PASSED [ 64%] tests/test_po.py::PO.id::test_pos PASSED [ 64%] tests/test_po.py::PO.ie::test_gtk_stock_items PASSED [ 64%] tests/test_po.py::PO.ie::test_original_punctuation_present PASSED [ 64%] tests/test_po.py::PO.ie::test_pos PASSED [ 64%] tests/test_po.py::PO.it::test_gtk_stock_items PASSED [ 64%] tests/test_po.py::PO.it::test_original_punctuation_present PASSED [ 64%] tests/test_po.py::PO.it::test_pos PASSED [ 64%] tests/test_po.py::PO.ja::test_gtk_stock_items PASSED [ 64%] tests/test_po.py::PO.ja::test_original_punctuation_present PASSED [ 64%] tests/test_po.py::PO.ja::test_pos PASSED [ 64%] tests/test_po.py::PO.ko::test_gtk_stock_items PASSED [ 64%] tests/test_po.py::PO.ko::test_original_punctuation_present PASSED [ 64%] tests/test_po.py::PO.ko::test_pos PASSED [ 64%] tests/test_po.py::PO.lt::test_gtk_stock_items PASSED [ 64%] tests/test_po.py::PO.lt::test_original_punctuation_present PASSED [ 64%] tests/test_po.py::PO.lt::test_pos PASSED [ 64%] tests/test_po.py::PO.lv::test_gtk_stock_items PASSED [ 64%] tests/test_po.py::PO.lv::test_original_punctuation_present PASSED [ 64%] tests/test_po.py::PO.lv::test_pos PASSED [ 64%] tests/test_po.py::PO.nb::test_gtk_stock_items PASSED [ 64%] tests/test_po.py::PO.nb::test_original_punctuation_present PASSED [ 65%] tests/test_po.py::PO.nb::test_pos PASSED [ 65%] tests/test_po.py::PO.nl::test_gtk_stock_items PASSED [ 65%] tests/test_po.py::PO.nl::test_original_punctuation_present PASSED [ 65%] tests/test_po.py::PO.nl::test_pos PASSED [ 65%] tests/test_po.py::PO.pl::test_gtk_stock_items PASSED [ 65%] tests/test_po.py::PO.pl::test_original_punctuation_present PASSED [ 65%] tests/test_po.py::PO.pl::test_pos PASSED [ 65%] tests/test_po.py::PO.pt::test_gtk_stock_items PASSED [ 65%] tests/test_po.py::PO.pt::test_original_punctuation_present PASSED [ 65%] tests/test_po.py::PO.pt::test_pos PASSED [ 65%] tests/test_po.py::PO.ro::test_gtk_stock_items PASSED [ 65%] tests/test_po.py::PO.ro::test_original_punctuation_present PASSED [ 65%] tests/test_po.py::PO.ro::test_pos PASSED [ 65%] tests/test_po.py::PO.ru::test_gtk_stock_items PASSED [ 65%] tests/test_po.py::PO.ru::test_original_punctuation_present PASSED [ 65%] tests/test_po.py::PO.ru::test_pos PASSED [ 65%] tests/test_po.py::PO.sk::test_gtk_stock_items PASSED [ 65%] tests/test_po.py::PO.sk::test_original_punctuation_present PASSED [ 65%] tests/test_po.py::PO.sk::test_pos PASSED [ 65%] tests/test_po.py::PO.sr_RS::test_gtk_stock_items PASSED [ 65%] tests/test_po.py::PO.sr_RS::test_original_punctuation_present PASSED [ 65%] tests/test_po.py::PO.sr_RS::test_pos PASSED [ 65%] tests/test_po.py::PO.sr_RS@latin::test_gtk_stock_items PASSED [ 65%] tests/test_po.py::PO.sr_RS@latin::test_original_punctuation_present PASSED [ 65%] tests/test_po.py::PO.sr_RS@latin::test_pos PASSED [ 65%] tests/test_po.py::PO.sv::test_gtk_stock_items PASSED [ 65%] tests/test_po.py::PO.sv::test_original_punctuation_present PASSED [ 65%] tests/test_po.py::PO.sv::test_pos PASSED [ 65%] tests/test_po.py::PO.ta::test_gtk_stock_items PASSED [ 65%] tests/test_po.py::PO.ta::test_original_punctuation_present PASSED [ 65%] tests/test_po.py::PO.ta::test_pos PASSED [ 65%] tests/test_po.py::PO.tr::test_gtk_stock_items PASSED [ 65%] tests/test_po.py::PO.tr::test_original_punctuation_present PASSED [ 65%] tests/test_po.py::PO.tr::test_pos PASSED [ 66%] tests/test_po.py::PO.uk::test_gtk_stock_items PASSED [ 66%] tests/test_po.py::PO.uk::test_original_punctuation_present PASSED [ 66%] tests/test_po.py::PO.uk::test_pos PASSED [ 66%] tests/test_po.py::PO.zh_CN::test_gtk_stock_items PASSED [ 66%] tests/test_po.py::PO.zh_CN::test_original_punctuation_present PASSED [ 66%] tests/test_po.py::PO.zh_CN::test_pos PASSED [ 66%] tests/test_po.py::PO.zh_TW::test_gtk_stock_items PASSED [ 66%] tests/test_po.py::PO.zh_TW::test_original_punctuation_present PASSED [ 66%] tests/test_po.py::PO.zh_TW::test_pos PASSED [ 66%] tests/test_qltk___init__.py::test_is_instance_of_gtype_name PASSED [ 66%] tests/test_qltk___init__.py::TQltk::test_get_fg_highlight_color PASSED [ 66%] tests/test_qltk___init__.py::TQltk::test_get_font_backend_name PASSED [ 66%] tests/test_qltk___init__.py::TQltk::test_get_menu_item_top_parent PASSED [ 66%] tests/test_qltk___init__.py::TQltk::test_get_menu_item_top_parent_sub PASSED [ 66%] tests/test_qltk___init__.py::TQltk::test_get_menu_item_top_parent_unattached PASSED [ 66%] tests/test_qltk___init__.py::TQltk::test_gtp PASSED [ 66%] tests/test_qltk___init__.py::TQltk::test_gtp_packed PASSED [ 66%] tests/test_qltk___init__.py::TQltk::test_is_accel PASSED [ 66%] tests/test_qltk___init__.py::TQltk::test_is_accel_invalid PASSED [ 66%] tests/test_qltk___init__.py::TQltk::test_is_accel_primary PASSED [ 66%] tests/test_qltk___init__.py::TQltk::test_none PASSED [ 66%] tests/test_qltk___init__.py::TQltk::test_popup_menu_under_widget PASSED [ 66%] tests/test_qltk___init__.py::TQltk::test_redraw_all PASSED [ 66%] tests/test_qltk___init__.py::TQltk::test_show_uri_with_existing_window PASSED [ 66%] tests/test_qltk___init__.py::Tselection_data::test_selection_set_songs PASSED [ 66%] tests/test_qltk__editutils.py::TFilterCheckButton::test_cmp PASSED [ 66%] tests/test_qltk__editutils.py::TFilterCheckButton::test_filter PASSED [ 66%] tests/test_qltk__editutils.py::TFilterCheckButton::test_filter_list PASSED [ 66%] tests/test_qltk__editutils.py::TEditDialogs::test_overwrite PASSED [ 66%] tests/test_qltk__editutils.py::TEditDialogs::test_write_failed PASSED [ 66%] tests/test_qltk__editutils.py::TFilterPluginBox::test_main PASSED [ 66%] tests/test_qltk_about.py::TAboutDialog::test_ctr PASSED [ 66%] tests/test_qltk_bookmarks.py::TBookmarks::test_add_bookmark_directly PASSED [ 66%] tests/test_qltk_bookmarks.py::TBookmarks::test_edit_window PASSED [ 67%] tests/test_qltk_bookmarks.py::TBookmarks::test_menu_items PASSED [ 67%] tests/test_qltk_browser.py::TLibraryBrowser::test_ctr PASSED [ 67%] tests/test_qltk_browser.py::TLibraryBrowser::test_open PASSED [ 67%] tests/test_qltk_browser.py::TLibraryBrowser::test_popup_menu PASSED [ 67%] tests/test_qltk_cbes.py::TComboBoxEntrySave::test_equivalence PASSED [ 67%] tests/test_qltk_cbes.py::TComboBoxEntrySave::test_initial_size PASSED [ 67%] tests/test_qltk_cbes.py::TComboBoxEntrySave::test_prepend_text PASSED [ 67%] tests/test_qltk_cbes.py::TComboBoxEntrySave::test_save PASSED [ 67%] tests/test_qltk_cbes.py::TComboBoxEntrySave::test_set_text_then_prepend PASSED [ 67%] tests/test_qltk_cbes.py::TComboBoxEntrySave::test_shared_model PASSED [ 67%] tests/test_qltk_cbes.py::TComboBoxEntrySave::test_text_changed_signal PASSED [ 67%] tests/test_qltk_cbes.py::TStandaloneEditor::test_constructor PASSED [ 67%] tests/test_qltk_cbes.py::TStandaloneEditor::test_defaults PASSED [ 67%] tests/test_qltk_cbes.py::TStandaloneEditor::test_load_values PASSED [ 67%] tests/test_qltk_ccb.py::TConfigCheckButton::test_populate PASSED [ 67%] tests/test_qltk_ccb.py::TConfigCheckButton::test_toggle PASSED [ 67%] tests/test_qltk_ccb.py::TConfigCheckMenuItem::test_populate PASSED [ 67%] tests/test_qltk_ccb.py::TConfigCheckMenuItem::test_toggle PASSED [ 67%] tests/test_qltk_chooser.py::Tchooser::test_choose_files PASSED [ 67%] tests/test_qltk_chooser.py::Tchooser::test_choose_filter PASSED [ 67%] tests/test_qltk_chooser.py::Tchooser::test_choose_folders PASSED [ 67%] tests/test_qltk_chooser.py::Tchooser::test_choose_target_file PASSED [ 67%] tests/test_qltk_chooser.py::Tchooser::test_choose_target_folder PASSED [ 67%] tests/test_qltk_chooser.py::Tchooser::test_get_current_dir PASSED [ 67%] tests/test_qltk_chooser.py::Tchooser::test_set_current_dir PASSED [ 67%] tests/test_qltk_completion.py::TEntryWordCompletion::test_ctr PASSED [ 67%] tests/test_qltk_completion.py::TLibraryTagCompletion::test_ctr PASSED [ 67%] tests/test_qltk_completion.py::TLibraryValueCompletion::test_ctr PASSED [ 67%] tests/test_qltk_controls.py::TControls::test_controls PASSED [ 67%] tests/test_qltk_controls.py::TControls::test_volume PASSED [ 67%] tests/test_qltk_controls.py::TControls::test_volumemenu PASSED [ 67%] tests/test_qltk_cover.py::TCoverImage::test_big_window PASSED [ 67%] tests/test_qltk_cover.py::TCoverImage::test_no_cover PASSED [ 67%] tests/test_qltk_cover.py::TCoverImage::test_resize PASSED [ 68%] tests/test_qltk_cover.py::TCoverImage::test_set_song PASSED [ 68%] tests/test_qltk_data_editors.py::TTagListEditor::test_defaulting PASSED [ 68%] tests/test_qltk_data_editors.py::TTagListEditor::test_no_strings PASSED [ 68%] tests/test_qltk_delete.py::TDeleteDialog::test_delete_files PASSED [ 68%] tests/test_qltk_delete.py::TDeleteDialog::test_delete_files_full PASSED [ 68%] tests/test_qltk_delete.py::TDeleteDialog::test_delete_songs PASSED [ 68%] tests/test_qltk_delete.py::TDeleteDialog::test_delete_songs_full PASSED [ 68%] tests/test_qltk_delete.py::TDeleteDialog::test_menu_item PASSED [ 68%] tests/test_qltk_delete.py::TDeleteDialog::test_trash_files PASSED [ 68%] tests/test_qltk_delete.py::TDeleteDialog::test_trash_files_full PASSED [ 68%] tests/test_qltk_delete.py::TDeleteDialog::test_trash_songs PASSED [ 68%] tests/test_qltk_delete.py::TDeleteDialog::test_trash_songs_full PASSED [ 68%] tests/test_qltk_download.py::TDownloadProgress::test_download_fails_for_non_existent PASSED [ 68%] tests/test_qltk_edittags.py::TEditTags::test_addtag_dialog PASSED [ 68%] tests/test_qltk_edittags.py::TEditTags::test_edit_tags_popup_menu PASSED [ 68%] tests/test_qltk_edittags.py::TEditTags::test_edit_tags_starts PASSED [ 68%] tests/test_qltk_edittags.py::TEditTags::test_items PASSED [ 68%] tests/test_qltk_edittags.py::TAudioFileGroup::test_can_change PASSED [ 68%] tests/test_qltk_edittags.py::TAudioFileGroup::test_multiple_values PASSED [ 68%] tests/test_qltk_entry.py::TEntry::test_set_max_width_chars PASSED [ 68%] tests/test_qltk_entry.py::TValidatingEntry::test_changed_invalid PASSED [ 68%] tests/test_qltk_entry.py::TValidatingEntry::test_changed_simple PASSED [ 68%] tests/test_qltk_entry.py::TValidatingEntry::test_changed_valid PASSED [ 68%] tests/test_qltk_entry.py::TValidatingEntry::test_custom_validator PASSED [ 68%] tests/test_qltk_entry.py::TUndoEntry::test_undo_delete PASSED [ 68%] tests/test_qltk_entry.py::TUndoEntry::test_undo_delete_space PASSED [ 68%] tests/test_qltk_entry.py::TUndoEntry::test_undo_insert_end PASSED [ 68%] tests/test_qltk_entry.py::TUndoEntry::test_undo_insert_end_2 PASSED [ 68%] tests/test_qltk_entry.py::TUndoEntry::test_undo_insert_middle PASSED [ 68%] tests/test_qltk_entry.py::TUndoEntry::test_undo_norm PASSED [ 68%] tests/test_qltk_entry.py::TUndoEntry::test_undo_reset PASSED [ 68%] tests/test_qltk_entry.py::TUndoEntry::test_undo_space PASSED [ 68%] tests/test_qltk_exfalso.py::TExFalsoWindow::test_nothing PASSED [ 68%] tests/test_qltk_exfalso.py::TExFalsoWindow::test_prefs PASSED [ 69%] tests/test_qltk_filesel.py::Tget_gtk_bookmarks::test_main PASSED [ 69%] tests/test_qltk_filesel.py::Tget_gtk_bookmarks::test_parse PASSED [ 69%] tests/test_qltk_filesel.py::TDirectoryTree::test_bad_go_to PASSED [ 69%] tests/test_qltk_filesel.py::TDirectoryTree::test_bad_initial PASSED [ 69%] tests/test_qltk_filesel.py::TDirectoryTree::test_get_drives PASSED [ 69%] tests/test_qltk_filesel.py::TDirectoryTree::test_initial PASSED [ 69%] tests/test_qltk_filesel.py::TDirectoryTree::test_main PASSED [ 69%] tests/test_qltk_filesel.py::TDirectoryTree::test_multiple_selections PASSED [ 69%] tests/test_qltk_filesel.py::TDirectoryTree::test_popup PASSED [ 69%] tests/test_qltk_filesel.py::TFileSelector::test_main PASSED [ 69%] tests/test_qltk_filesel.py::TFileSelector::test_select PASSED [ 69%] tests/test_qltk_filesel.py::TFileSelector::test_select_rescan PASSED [ 69%] tests/test_qltk_getstring.py::TGetStringDialog::test_clipboard PASSED [ 69%] tests/test_qltk_getstring.py::TGetStringDialog::test_getstring PASSED [ 69%] tests/test_qltk_getstring.py::TGetStringDialog::test_tooltip PASSED [ 69%] tests/test_qltk_image.py::TImageUtils::test_add_border PASSED [ 69%] tests/test_qltk_image.py::TImageUtils::test_add_border_widget PASSED [ 69%] tests/test_qltk_image.py::TImageUtils::test_calc_scale_size PASSED [ 69%] tests/test_qltk_image.py::TImageUtils::test_get_surface_extents PASSED [ 69%] tests/test_qltk_image.py::TImageUtils::test_get_surface_for_pixbuf PASSED [ 69%] tests/test_qltk_image.py::TImageUtils::test_scale PASSED [ 69%] tests/test_qltk_info.py::TSongInfo::test_save PASSED [ 69%] tests/test_qltk_information.py::TInformation::test_album PASSED [ 69%] tests/test_qltk_information.py::TInformation::test_album_special_chars PASSED [ 69%] tests/test_qltk_information.py::TInformation::test_artist PASSED [ 69%] tests/test_qltk_information.py::TInformation::test_none PASSED [ 69%] tests/test_qltk_information.py::TInformation::test_one PASSED [ 69%] tests/test_qltk_information.py::TInformation::test_performer_roles PASSED [ 69%] tests/test_qltk_information.py::TInformation::test_remove_song PASSED [ 69%] tests/test_qltk_information.py::TInformation::test_two PASSED [ 69%] tests/test_qltk_information.py::TUtils::test_sort_albums PASSED [ 69%] tests/test_qltk_information.py::TTitleLabel::test_foo PASSED [ 69%] tests/test_qltk_lyrics.py::TLyricsPane::test_construction PASSED [ 69%] tests/test_qltk_lyrics.py::TLyricsPane::test_save_encoded_lyrics PASSED [ 69%] tests/test_qltk_lyrics.py::TLyricsPane::test_save_lyrics PASSED [ 70%] tests/test_qltk_lyrics.py::TLyricsPane::test_save_lyrics_deletes_lyric_file PASSED [ 70%] tests/test_qltk_maskedbox.py::TMaskedBox::test PASSED [ 70%] tests/test_qltk_models.py::TOrigObjectStore::test_allow_nonatomic PASSED [ 70%] tests/test_qltk_models.py::TOrigObjectStore::test_append PASSED [ 70%] tests/test_qltk_models.py::TOrigObjectStore::test_column_count PASSED [ 70%] tests/test_qltk_models.py::TOrigObjectStore::test_insert PASSED [ 70%] tests/test_qltk_models.py::TOrigObjectStore::test_insert_after PASSED [ 70%] tests/test_qltk_models.py::TOrigObjectStore::test_insert_after_noiter PASSED [ 70%] tests/test_qltk_models.py::TOrigObjectStore::test_insert_before PASSED [ 70%] tests/test_qltk_models.py::TOrigObjectStore::test_insert_before_noiter PASSED [ 70%] tests/test_qltk_models.py::TOrigObjectStore::test_prepend PASSED [ 70%] tests/test_qltk_models.py::TObjectStore::test__sort_on_value PASSED [ 70%] tests/test_qltk_models.py::TObjectStore::test_allow_nonatomic PASSED [ 70%] tests/test_qltk_models.py::TObjectStore::test_append PASSED [ 70%] tests/test_qltk_models.py::TObjectStore::test_append_many PASSED [ 70%] tests/test_qltk_models.py::TObjectStore::test_append_many_set PASSED [ 70%] tests/test_qltk_models.py::TObjectStore::test_column_count PASSED [ 70%] tests/test_qltk_models.py::TObjectStore::test_insert PASSED [ 70%] tests/test_qltk_models.py::TObjectStore::test_insert_after PASSED [ 70%] tests/test_qltk_models.py::TObjectStore::test_insert_after_noiter PASSED [ 70%] tests/test_qltk_models.py::TObjectStore::test_insert_before PASSED [ 70%] tests/test_qltk_models.py::TObjectStore::test_insert_before_noiter PASSED [ 70%] tests/test_qltk_models.py::TObjectStore::test_insert_many PASSED [ 70%] tests/test_qltk_models.py::TObjectStore::test_insert_many_append PASSED [ 70%] tests/test_qltk_models.py::TObjectStore::test_is_empty PASSED [ 70%] tests/test_qltk_models.py::TObjectStore::test_iter_append_many PASSED [ 70%] tests/test_qltk_models.py::TObjectStore::test_iter_append_many_empty PASSED [ 70%] tests/test_qltk_models.py::TObjectStore::test_iter_append_many_iterable_int PASSED [ 70%] tests/test_qltk_models.py::TObjectStore::test_iter_append_many_iterable_object PASSED [ 70%] tests/test_qltk_models.py::TObjectStore::test_iter_path_changed PASSED [ 70%] tests/test_qltk_models.py::TObjectStore::test_iterrows PASSED [ 70%] tests/test_qltk_models.py::TObjectStore::test_iterrows_empty PASSED [ 70%] tests/test_qltk_models.py::TObjectStore::test_itervalues PASSED [ 70%] tests/test_qltk_models.py::TObjectStore::test_itervalues_empty PASSED [ 71%] tests/test_qltk_models.py::TObjectStore::test_nonatomic PASSED [ 71%] tests/test_qltk_models.py::TObjectStore::test_prepend PASSED [ 71%] tests/test_qltk_models.py::TObjectStore::test_signal_count PASSED [ 71%] tests/test_qltk_models.py::TObjectStore::test_validate PASSED [ 71%] tests/test_qltk_models.py::TOrigTreeStore::test_allow_nonatomic PASSED [ 71%] tests/test_qltk_models.py::TOrigTreeStore::test_append_int PASSED [ 71%] tests/test_qltk_models.py::TOrigTreeStore::test_append_obj PASSED [ 71%] tests/test_qltk_models.py::TOrigTreeStore::test_column_count PASSED [ 71%] tests/test_qltk_models.py::TOrigTreeStore::test_insert_after PASSED [ 71%] tests/test_qltk_models.py::TOrigTreeStore::test_insert_after_noiter PASSED [ 71%] tests/test_qltk_models.py::TOrigTreeStore::test_insert_after_noroot PASSED [ 71%] tests/test_qltk_models.py::TOrigTreeStore::test_insert_before PASSED [ 71%] tests/test_qltk_models.py::TOrigTreeStore::test_insert_before_noiter PASSED [ 71%] tests/test_qltk_models.py::TOrigTreeStore::test_insert_before_noroot PASSED [ 71%] tests/test_qltk_models.py::TObjectTreeStore::test_allow_nonatomic PASSED [ 71%] tests/test_qltk_models.py::TObjectTreeStore::test_append_int PASSED [ 71%] tests/test_qltk_models.py::TObjectTreeStore::test_append_obj PASSED [ 71%] tests/test_qltk_models.py::TObjectTreeStore::test_column_count PASSED [ 71%] tests/test_qltk_models.py::TObjectTreeStore::test_insert_after PASSED [ 71%] tests/test_qltk_models.py::TObjectTreeStore::test_insert_after_noiter PASSED [ 71%] tests/test_qltk_models.py::TObjectTreeStore::test_insert_after_noroot PASSED [ 71%] tests/test_qltk_models.py::TObjectTreeStore::test_insert_before PASSED [ 71%] tests/test_qltk_models.py::TObjectTreeStore::test_insert_before_noiter PASSED [ 71%] tests/test_qltk_models.py::TObjectTreeStore::test_insert_before_noroot PASSED [ 71%] tests/test_qltk_models.py::TObjectTreeStore::test_iter_path_changed PASSED [ 71%] tests/test_qltk_models.py::TObjectTreeStore::test_iterrows PASSED [ 71%] tests/test_qltk_models.py::TObjectTreeStore::test_itervalues PASSED [ 71%] tests/test_qltk_models.py::TObjectTreeStore::test_nonatomic PASSED [ 71%] tests/test_qltk_models.py::TObjectTreeStore::test_signal_count PASSED [ 71%] tests/test_qltk_models.py::TObjectTreeStore::test_tree_store_insert_after_none PASSED [ 71%] tests/test_qltk_models.py::TObjectTreeStore::test_tree_store_insert_before_none PASSED [ 71%] tests/test_qltk_models.py::TObjectTreeStore::test_validate PASSED [ 71%] tests/test_qltk_models.py::TObjectModelFilter::test_filter PASSED [ 71%] tests/test_qltk_models.py::TObjectModelFilter::test_iter_values PASSED [ 72%] tests/test_qltk_models.py::TObjectModelSort::test_iter_values PASSED [ 72%] tests/test_qltk_models.py::TObjectModelSort::test_sort PASSED [ 72%] tests/test_qltk_msg.py::TWarningMessage::test_ctr PASSED [ 72%] tests/test_qltk_msg.py::TErrorMessage::test_ctr PASSED [ 72%] tests/test_qltk_msg.py::TCancelRevertSave::test_ctr PASSED [ 72%] tests/test_qltk_msg.py::TFileReplace::test_ctr PASSED [ 72%] tests/test_qltk_notif.py::TTaskController::test_multiple_tasks PASSED [ 72%] tests/test_qltk_notif.py::TTaskController::test_reparent PASSED [ 72%] tests/test_qltk_paned.py::RVPaned::test_ctr PASSED [ 72%] tests/test_qltk_paned.py::RVPaned::test_min_size_child PASSED [ 72%] tests/test_qltk_paned.py::RVPaned::test_pre_alloc PASSED [ 72%] tests/test_qltk_paned.py::RVPaned::test_visible_no_setup PASSED [ 72%] tests/test_qltk_paned.py::RVPaned::test_visible_pre_setup_children PASSED [ 72%] tests/test_qltk_paned.py::RVPaned::test_visible_pre_setup_empty PASSED [ 72%] tests/test_qltk_paned.py::RHPaned::test_ctr PASSED [ 72%] tests/test_qltk_paned.py::RHPaned::test_min_size_child PASSED [ 72%] tests/test_qltk_paned.py::RHPaned::test_pre_alloc PASSED [ 72%] tests/test_qltk_paned.py::RHPaned::test_visible_no_setup PASSED [ 72%] tests/test_qltk_paned.py::RHPaned::test_visible_pre_setup_children PASSED [ 72%] tests/test_qltk_paned.py::RHPaned::test_visible_pre_setup_empty PASSED [ 72%] tests/test_qltk_paned.py::TConfigRPaned::test_basic PASSED [ 72%] tests/test_qltk_paned.py::TMultiRHPaned::test_change_orientation PASSED [ 72%] tests/test_qltk_paned.py::TMultiRHPaned::test_destroy PASSED [ 72%] tests/test_qltk_paned.py::TMultiRHPaned::test_make_pane_widths_equal PASSED [ 72%] tests/test_qltk_paned.py::TMultiRHPaned::test_set_widgets PASSED [ 72%] tests/test_qltk_paned.py::TMultiRVPaned::test_change_orientation PASSED [ 72%] tests/test_qltk_paned.py::TMultiRVPaned::test_destroy PASSED [ 72%] tests/test_qltk_paned.py::TMultiRVPaned::test_make_pane_widths_equal PASSED [ 72%] tests/test_qltk_paned.py::TMultiRVPaned::test_set_widgets PASSED [ 72%] tests/test_qltk_paned.py::TConfigMultiRHPaned::test_basic PASSED [ 72%] tests/test_qltk_paned.py::TConfigMultiRVPaned::test_basic PASSED [ 72%] tests/test_qltk_playorder.py::TPlayOrderWidget::test_get_name PASSED [ 72%] tests/test_qltk_playorder.py::TPlayOrderWidget::test_initial PASSED [ 72%] tests/test_qltk_playorder.py::TPlayOrderWidget::test_replay_gain PASSED [ 73%] tests/test_qltk_playorder.py::TPlayOrderWidget::test_shuffle PASSED [ 73%] tests/test_qltk_playorder.py::TPlayOrderWidget::test_shuffle_defaults_to_inorder PASSED [ 73%] tests/test_qltk_playorder.py::TToggledPlayOrderMenu::test_enabled_initially PASSED [ 73%] tests/test_qltk_playorder.py::TToggledPlayOrderMenu::test_get_name PASSED [ 73%] tests/test_qltk_playorder.py::TToggledPlayOrderMenu::test_initial PASSED [ 73%] tests/test_qltk_playorder.py::TToggledPlayOrderMenu::test_playorder_disables_when_order_disappears PASSED [ 73%] tests/test_qltk_playorder.py::TToggledPlayOrderMenu::test_set_by_name PASSED [ 73%] tests/test_qltk_playorder.py::TToggledPlayOrderMenu::test_set_orders PASSED [ 73%] tests/test_qltk_playorder.py::TToggledPlayOrderMenu::test_setting_enabled PASSED [ 73%] tests/test_qltk_playorder.py::TToggledPlayOrderMenu::test_unknown_name PASSED [ 73%] tests/test_qltk_pluginwin.py::TPluginWindow::test_enabled_filter_combo PASSED [ 73%] tests/test_qltk_pluginwin.py::TPluginWindow::test_plugin_error_window PASSED [ 73%] tests/test_qltk_pluginwin.py::TPluginWindow::test_plugin_list PASSED [ 73%] tests/test_qltk_pluginwin.py::TPluginWindow::test_plugin_prefs PASSED [ 73%] tests/test_qltk_pluginwin.py::TPluginWindow::test_plugin_win PASSED [ 73%] tests/test_qltk_pluginwin.py::TPluginWindow::test_type_filter_combo PASSED [ 73%] tests/test_qltk_prefs.py::TPreferencesWindow::test_ctr PASSED [ 73%] tests/test_qltk_properties.py::TSongProperties::test_changed PASSED [ 73%] tests/test_qltk_properties.py::TSongProperties::test_onesong PASSED [ 73%] tests/test_qltk_properties.py::TSongProperties::test_removed PASSED [ 73%] tests/test_qltk_properties.py::TSongProperties::test_twosong PASSED [ 73%] tests/test_qltk_queue.py::TPlayQueue::test_autosave PASSED [ 73%] tests/test_qltk_queue.py::TPlayQueue::test_autosave_batched PASSED [ 73%] tests/test_qltk_queue.py::TPlayQueue::test_save_restore PASSED [ 73%] tests/test_qltk_queue.py::TQueueExpander::test_ctr PASSED [ 73%] tests/test_qltk_queue.py::TQueueExpander::test_random_at_startup PASSED [ 73%] tests/test_qltk_queue.py::TQueueExpander::test_status_icon PASSED [ 73%] tests/test_qltk_quodlibetwindow.py::TQuodLibetWindow::test_playback_error_dialog PASSED [ 73%] tests/test_qltk_quodlibetwindow.py::TQuodLibetWindow::test_window PASSED [ 73%] tests/test_qltk_ratingsmenu.py::TRatingsMenuItem::test_menuitem_children PASSED [ 73%] tests/test_qltk_ratingsmenu.py::TRatingsMenuItem::test_no_rating PASSED [ 73%] tests/test_qltk_ratingsmenu.py::TRatingsMenuItem::test_set_remove_rating PASSED [ 73%] tests/test_qltk_renamefiles.py::TSpacesToUnderscores::test_conv PASSED [ 73%] tests/test_qltk_renamefiles.py::TSpacesToUnderscores::test_mix_empty PASSED [ 74%] tests/test_qltk_renamefiles.py::TSpacesToUnderscores::test_mix_safe PASSED [ 74%] tests/test_qltk_renamefiles.py::TStripWindowsIncompat::test_conv PASSED [ 74%] tests/test_qltk_renamefiles.py::TStripWindowsIncompat::test_ends_with_dots_or_spaces PASSED [ 74%] tests/test_qltk_renamefiles.py::TStripWindowsIncompat::test_mix_empty PASSED [ 74%] tests/test_qltk_renamefiles.py::TStripWindowsIncompat::test_mix_safe PASSED [ 74%] tests/test_qltk_renamefiles.py::TStripWindowsIncompat::test_type PASSED [ 74%] tests/test_qltk_renamefiles.py::TReplaceColons::test_leaves_colons_without_space PASSED [ 74%] tests/test_qltk_renamefiles.py::TReplaceColons::test_mix_empty PASSED [ 74%] tests/test_qltk_renamefiles.py::TReplaceColons::test_mix_safe PASSED [ 74%] tests/test_qltk_renamefiles.py::TReplaceColons::test_replaces_colons_as_delimiters PASSED [ 74%] tests/test_qltk_renamefiles.py::TReplaceColons::test_replaces_colons_with_lots_of_spaces PASSED [ 74%] tests/test_qltk_renamefiles.py::TReplaceColons::test_replaces_colons_with_non_word PASSED [ 74%] tests/test_qltk_renamefiles.py::TReplaceColons::test_replaces_semicolons_as_delimiters PASSED [ 74%] tests/test_qltk_renamefiles.py::TReplaceColons::test_type PASSED [ 74%] tests/test_qltk_renamefiles.py::TStripDiacriticals::test_conv PASSED [ 74%] tests/test_qltk_renamefiles.py::TStripDiacriticals::test_mix_empty PASSED [ 74%] tests/test_qltk_renamefiles.py::TStripDiacriticals::test_mix_safe PASSED [ 74%] tests/test_qltk_renamefiles.py::TStripNonASCII::test_conv PASSED [ 74%] tests/test_qltk_renamefiles.py::TStripNonASCII::test_mix_empty PASSED [ 74%] tests/test_qltk_renamefiles.py::TStripNonASCII::test_mix_safe PASSED [ 74%] tests/test_qltk_renamefiles.py::TLowercase::test_conv PASSED [ 74%] tests/test_qltk_renamefiles.py::TLowercase::test_mix_empty PASSED [ 74%] tests/test_qltk_renamefiles.py::TLowercase::test_mix_safe PASSED [ 74%] tests/test_qltk_renamefiles.py::TMoveArt::test_move_all_wildcard PASSED [ 74%] tests/test_qltk_renamefiles.py::TMoveArt::test_move_defaults PASSED [ 74%] tests/test_qltk_renamefiles.py::TMoveArt::test_move_escape_glob_characters PASSED [ 74%] tests/test_qltk_renamefiles.py::TMoveArt::test_multi_source PASSED [ 74%] tests/test_qltk_renamefiles.py::TMoveArt::test_no_move PASSED [ 74%] tests/test_qltk_renamefiles.py::TMoveArt::test_overwrite PASSED [ 74%] tests/test_qltk_renamefiles.py::TMoveArt::test_relative_pattern PASSED [ 74%] tests/test_qltk_renamefiles.py::TMoveArt::test_selective_pattern PASSED [ 74%] tests/test_qltk_scanbox.py::TScanBox::test_main PASSED [ 74%] tests/test_qltk_searchbar.py::TSearchBarBox::test_get_query PASSED [ 74%] tests/test_qltk_searchbar.py::TSearchBarBox::test_get_query_override_star PASSED [ 75%] tests/test_qltk_seekbutton.py::TSlider::test_basics PASSED [ 75%] tests/test_qltk_seekbutton.py::TTimeLabel::test_time_label PASSED [ 75%] tests/test_qltk_seekbutton.py::TSeekButton::test_seekbutton PASSED [ 75%] tests/test_qltk_songlist.py::TSongList::test_add_songs PASSED [ 75%] tests/test_qltk_songlist.py::TSongList::test_check_sensible_menu_items PASSED [ 75%] tests/test_qltk_songlist.py::TSongList::test_clear_sort PASSED [ 75%] tests/test_qltk_songlist.py::TSongList::test_drop PASSED [ 75%] tests/test_qltk_songlist.py::TSongList::test_find_default_sort_column PASSED [ 75%] tests/test_qltk_songlist.py::TSongList::test_get_columns_migrated PASSED [ 75%] tests/test_qltk_songlist.py::TSongList::test_get_selected_songs PASSED [ 75%] tests/test_qltk_songlist.py::TSongList::test_get_set_columns PASSED [ 75%] tests/test_qltk_songlist.py::TSongList::test_get_sort_tag PASSED [ 75%] tests/test_qltk_songlist.py::TSongList::test_header_menu PASSED [ 75%] tests/test_qltk_songlist.py::TSongList::test_header_tag_split PASSED [ 75%] tests/test_qltk_songlist.py::TSongList::test_inline_search_state PASSED [ 75%] tests/test_qltk_songlist.py::TSongList::test_not_sortable PASSED [ 75%] tests/test_qltk_songlist.py::TSongList::test_remove_songs PASSED [ 75%] tests/test_qltk_songlist.py::TSongList::test_set_all_column_headers PASSED [ 75%] tests/test_qltk_songlist.py::TSongList::test_set_column_headers PASSED [ 75%] tests/test_qltk_songlist.py::TSongList::test_set_songs PASSED [ 75%] tests/test_qltk_songlist.py::TSongList::test_set_songs_no_restore_select PASSED [ 75%] tests/test_qltk_songlist.py::TSongList::test_set_songs_restore_select PASSED [ 75%] tests/test_qltk_songlist.py::TSongList::test_sort_by PASSED [ 75%] tests/test_qltk_songlist.py::TSongList::test_sort_orders PASSED [ 75%] tests/test_qltk_songlist.py::TSongList::test_sortable_if_config_overrides PASSED [ 75%] tests/test_qltk_songlist.py::TSongList::test_toggle_sort PASSED [ 75%] tests/test_qltk_songlistcolumns.py::TSongListColumns::test_artist PASSED [ 75%] tests/test_qltk_songlistcolumns.py::TSongListColumns::test_basename PASSED [ 75%] tests/test_qltk_songlistcolumns.py::TSongListColumns::test_bitrate PASSED [ 75%] tests/test_qltk_songlistcolumns.py::TSongListColumns::test_bpm PASSED [ 75%] tests/test_qltk_songlistcolumns.py::TSongListColumns::test_custom_datecol_format PASSED [ 75%] tests/test_qltk_songlistcolumns.py::TSongListColumns::test_date PASSED [ 75%] tests/test_qltk_songlistcolumns.py::TSongListColumns::test_filesize PASSED [ 75%] tests/test_qltk_songlistcolumns.py::TSongListColumns::test_initialkey PASSED [ 76%] tests/test_qltk_songlistcolumns.py::TSongListColumns::test_length PASSED [ 76%] tests/test_qltk_songlistcolumns.py::TSongListColumns::test_nonconfigured_datecol_format PASSED [ 76%] tests/test_qltk_songlistcolumns.py::TSongListColumns::test_pattern PASSED [ 76%] tests/test_qltk_songlistcolumns.py::TSongListColumns::test_people PASSED [ 76%] tests/test_qltk_songlistcolumns.py::TSongListColumns::test_rating PASSED [ 76%] tests/test_qltk_songmodel.py::TPlaylistModel::test_clear_current PASSED [ 76%] tests/test_qltk_songmodel.py::TPlaylistModel::test_contains PASSED [ 76%] tests/test_qltk_songmodel.py::TPlaylistModel::test_current_recover PASSED [ 76%] tests/test_qltk_songmodel.py::TPlaylistModel::test_current_recover_unknown PASSED [ 76%] tests/test_qltk_songmodel.py::TPlaylistModel::test_find PASSED [ 76%] tests/test_qltk_songmodel.py::TPlaylistModel::test_find_all PASSED [ 76%] tests/test_qltk_songmodel.py::TPlaylistModel::test_find_all_duplicates PASSED [ 76%] tests/test_qltk_songmodel.py::TPlaylistModel::test_find_all_empty PASSED [ 76%] tests/test_qltk_songmodel.py::TPlaylistModel::test_find_all_some_missing PASSED [ 76%] tests/test_qltk_songmodel.py::TPlaylistModel::test_find_not_there PASSED [ 76%] tests/test_qltk_songmodel.py::TPlaylistModel::test_get PASSED [ 76%] tests/test_qltk_songmodel.py::TPlaylistModel::test_go_to PASSED [ 76%] tests/test_qltk_songmodel.py::TPlaylistModel::test_go_to_none PASSED [ 76%] tests/test_qltk_songmodel.py::TPlaylistModel::test_go_to_order PASSED [ 76%] tests/test_qltk_songmodel.py::TPlaylistModel::test_go_to_saves_current PASSED [ 76%] tests/test_qltk_songmodel.py::TPlaylistModel::test_isempty PASSED [ 76%] tests/test_qltk_songmodel.py::TPlaylistModel::test_next PASSED [ 76%] tests/test_qltk_songmodel.py::TPlaylistModel::test_next_at_end_finishes PASSED [ 76%] tests/test_qltk_songmodel.py::TPlaylistModel::test_next_nosong_536 PASSED [ 76%] tests/test_qltk_songmodel.py::TPlaylistModel::test_previous PASSED [ 76%] tests/test_qltk_songmodel.py::TPlaylistModel::test_removal PASSED [ 76%] tests/test_qltk_songmodel.py::TPlaylistModel::test_repeat_all_cycles_playlist PASSED [ 76%] tests/test_qltk_songmodel.py::TPlaylistModel::test_repeat_song_repeats_on_end PASSED [ 76%] tests/test_qltk_songmodel.py::TPlaylistModel::test_repeat_song_uses_underlying_on_explicit PASSED [ 76%] tests/test_qltk_songmodel.py::TPlaylistModel::test_reset PASSED [ 76%] tests/test_qltk_songmodel.py::TPlaylistModel::test_reset_order PASSED [ 76%] tests/test_qltk_songmodel.py::TPlaylistModel::test_restart PASSED [ 76%] tests/test_qltk_songmodel.py::TPlaylistModel::test_shuffle PASSED [ 76%] tests/test_qltk_songmodel.py::TPlaylistModel::test_shuffle_next_after_remove PASSED [ 76%] tests/test_qltk_songmodel.py::TPlaylistModel::test_shuffle_previous_after_reorder PASSED [ 77%] tests/test_qltk_songmodel.py::TPlaylistModel::test_shuffle_repeat PASSED [ 77%] tests/test_qltk_songmodel.py::TPlaylistModel::test_shuffle_repeat_forever PASSED [ 77%] tests/test_qltk_songmodel.py::TPlaylistMux::test_destroy PASSED [ 77%] tests/test_qltk_songmodel.py::TPlaylistMux::test_goto PASSED [ 77%] tests/test_qltk_songmodel.py::TPlaylistMux::test_goto_queue PASSED [ 77%] tests/test_qltk_songmodel.py::TPlaylistMux::test_halfway PASSED [ 77%] tests/test_qltk_songmodel.py::TPlaylistMux::test_mixed PASSED [ 77%] tests/test_qltk_songmodel.py::TPlaylistMux::test_newplaylist PASSED [ 77%] tests/test_qltk_songmodel.py::TPlaylistMux::test_only_pl PASSED [ 77%] tests/test_qltk_songmodel.py::TPlaylistMux::test_only_q PASSED [ 77%] tests/test_qltk_songmodel.py::TPlaylistMux::test_previous PASSED [ 77%] tests/test_qltk_songmodel.py::TPlaylistMux::test_previous_shuffle PASSED [ 77%] tests/test_qltk_songmodel.py::TPlaylistMux::test_queue PASSED [ 77%] tests/test_qltk_songmodel.py::TPlaylistMux::test_queue_disable PASSED [ 77%] tests/test_qltk_songmodel.py::TPlaylistMux::test_queue_disable_and_keep_songs PASSED [ 77%] tests/test_qltk_songmodel.py::TPlaylistMux::test_queue_disable_next PASSED [ 77%] tests/test_qltk_songmodel.py::TPlaylistMux::test_queue_disable_prev PASSED [ 77%] tests/test_qltk_songmodel.py::TPlaylistMux::test_queue_keep_songs PASSED [ 77%] tests/test_qltk_songmodel.py::TPlaylistMux::test_queue_move_entry PASSED [ 77%] tests/test_qltk_songmodel.py::TPlaylistMux::test_queue_preserved_when_setexplicit_rejected PASSED [ 77%] tests/test_qltk_songmodel.py::TPlaylistMux::test_random_queue_666 PASSED [ 77%] tests/test_qltk_songmodel.py::TPlaylistMux::test_removal PASSED [ 77%] tests/test_qltk_songmodel.py::TPlaylistMux::test_sourced PASSED [ 77%] tests/test_qltk_songmodel.py::TPlaylistMux::test_unqueue PASSED [ 77%] tests/test_qltk_songsmenu.py::TSongsMenu::test_delete PASSED [ 77%] tests/test_qltk_songsmenu.py::TSongsMenu::test_download PASSED [ 77%] tests/test_qltk_songsmenu.py::TSongsMenu::test_empty PASSED [ 77%] tests/test_qltk_songsmenu.py::TSongsMenu::test_playlists PASSED [ 77%] tests/test_qltk_songsmenu.py::TSongsMenu::test_queue PASSED [ 77%] tests/test_qltk_songsmenu.py::TSongsMenu::test_remove PASSED [ 77%] tests/test_qltk_songsmenu.py::TSongsMenu::test_remove_sensitive PASSED [ 77%] tests/test_qltk_songsmenu.py::TSongsMenu::test_show_files PASSED [ 77%] tests/test_qltk_songsmenu.py::TSongsMenu::test_show_files_remote_songs PASSED [ 77%] tests/test_qltk_songsmenu.py::TSongsMenu::test_show_files_too_many_songs PASSED [ 78%] tests/test_qltk_songsmenu.py::TSongsMenu::test_simple PASSED [ 78%] tests/test_qltk_tagscombobox.py::TTagsComboBox::test_all PASSED [ 78%] tests/test_qltk_tagscombobox.py::TTagsComboBox::test_none PASSED [ 78%] tests/test_qltk_tagscombobox.py::TTagsComboBox::test_some PASSED [ 78%] tests/test_qltk_tagscombobox.py::TTagsComboBoxEntry::test_all PASSED [ 78%] tests/test_qltk_tagscombobox.py::TTagsComboBoxEntry::test_custom PASSED [ 78%] tests/test_qltk_tagscombobox.py::TTagsComboBoxEntry::test_none PASSED [ 78%] tests/test_qltk_tagscombobox.py::TTagsComboBoxEntry::test_some PASSED [ 78%] tests/test_qltk_tagsfrompath.py::TTitleCase::test_apostrophe PASSED [ 78%] tests/test_qltk_tagsfrompath.py::TTitleCase::test_simple PASSED [ 78%] tests/test_qltk_tagsfrompath.py::TSplitTag::test_simple PASSED [ 78%] tests/test_qltk_tagsfrompath.py::TUnderscoresToSpaces::test_simple PASSED [ 78%] tests/test_qltk_textedit.py::TTextEditBox::test_clicked PASSED [ 78%] tests/test_qltk_textedit.py::TTextEditBox::test_empty PASSED [ 78%] tests/test_qltk_textedit.py::TTextEditBox::test_set PASSED [ 78%] tests/test_qltk_textedit.py::TTextEdit::test_clicked PASSED [ 78%] tests/test_qltk_textedit.py::TTextEdit::test_empty PASSED [ 78%] tests/test_qltk_textedit.py::TTextEdit::test_set PASSED [ 78%] tests/test_qltk_textedit.py::TTextEditBox2::test_revert PASSED [ 78%] tests/test_qltk_textedit.py::TTextEdit2::test_revert PASSED [ 78%] tests/test_qltk_textedit.py::Tvalidate_markup_pattern::test_invalid PASSED [ 78%] tests/test_qltk_textedit.py::Tvalidate_markup_pattern::test_valid PASSED [ 78%] tests/test_qltk_tracker.py::TSongTracker::test_destroy PASSED [ 78%] tests/test_qltk_tracker.py::TSongTracker::test_error PASSED [ 78%] tests/test_qltk_tracker.py::TSongTracker::test_play PASSED [ 78%] tests/test_qltk_tracker.py::TSongTracker::test_restart PASSED [ 78%] tests/test_qltk_tracker.py::TSongTracker::test_skip PASSED [ 78%] tests/test_qltk_tracker.py::TFSInterface::test_current_song_changed PASSED [ 78%] tests/test_qltk_tracker.py::TFSInterface::test_elapsed PASSED [ 78%] tests/test_qltk_tracker.py::TFSInterface::test_init PASSED [ 78%] tests/test_qltk_tracker.py::TFSInterface::test_song_ended PASSED [ 78%] tests/test_qltk_tracker.py::TFSInterface::test_start PASSED [ 78%] tests/test_qltk_unity.py::TUnityQuickList::test_init PASSED [ 78%] tests/test_qltk_util.py::Tposition_window_beside_widget::test_main PASSED [ 79%] tests/test_qltk_views.py::THintedTreeView::test_exists PASSED [ 79%] tests/test_qltk_views.py::TBaseView::test_iter_select_func PASSED [ 79%] tests/test_qltk_views.py::TBaseView::test_key_events PASSED [ 79%] tests/test_qltk_views.py::TBaseView::test_remove PASSED [ 79%] tests/test_qltk_views.py::TBaseView::test_remove_select_multiple PASSED [ 79%] tests/test_qltk_views.py::TBaseView::test_remove_select_single PASSED [ 79%] tests/test_qltk_views.py::TBaseView::test_select_func PASSED [ 79%] tests/test_qltk_views.py::TBaseView::test_selection_changed PASSED [ 79%] tests/test_qltk_views.py::TBaseView::test_set_drag_dest PASSED [ 79%] tests/test_qltk_views.py::TBaseView::test_without_model PASSED [ 79%] tests/test_qltk_views.py::TMultiDragTreeView::test_click PASSED [ 79%] tests/test_qltk_views.py::TRCMTreeView::test_popup PASSED [ 79%] tests/test_qltk_views.py::TRCMTreeView::test_right_click PASSED [ 79%] tests/test_qltk_views.py::TDragIconTreeView::test_create_drag_icon PASSED [ 79%] tests/test_qltk_views.py::TDragScroll::test_basic PASSED [ 79%] tests/test_qltk_views.py::TTreeViewColumn::test_main PASSED [ 79%] tests/test_qltk_window.py::TWindow::test_ctr PASSED [ 79%] tests/test_qltk_window.py::TWindow::test_instance_tracking PASSED [ 79%] tests/test_qltk_window.py::TWindow::test_on_first_map PASSED [ 79%] tests/test_qltk_window.py::TWindow::test_show_maybe PASSED [ 79%] tests/test_qltk_window.py::TWindow::test_toggle_fullscreen PASSED [ 79%] tests/test_qltk_window.py::TWindow::test_use_header_bar PASSED [ 79%] tests/test_qltk_window.py::TDialog::test_add_icon_button PASSED [ 79%] tests/test_qltk_wlw.py::TWaitLoadWindow::test_connect PASSED [ 79%] tests/test_qltk_wlw.py::TWaitLoadWindow::test_destroy PASSED [ 79%] tests/test_qltk_wlw.py::TWaitLoadWindow::test_none PASSED [ 79%] tests/test_qltk_wlw.py::TWaitLoadWindow::test_plurals PASSED [ 79%] tests/test_qltk_wlw.py::TWaitLoadWindow::test_start PASSED [ 79%] tests/test_qltk_wlw.py::TWaitLoadWindow::test_step PASSED [ 79%] tests/test_qltk_x.py::Notebook::test_widget_error PASSED [ 79%] tests/test_qltk_x.py::Notebook::test_widget_label PASSED [ 79%] tests/test_qltk_x.py::Notebook::test_widget_str PASSED [ 79%] tests/test_qltk_x.py::Frame::test_label PASSED [ 79%] tests/test_qltk_x.py::MenuItem::test_ctr PASSED [ 80%] tests/test_qltk_x.py::Button::test_ctr PASSED [ 80%] tests/test_qltk_x.py::TAlign::test_ctr PASSED [ 80%] tests/test_qltk_x.py::TScrolledWindow::test_ctr PASSED [ 80%] tests/test_qltk_x.py::THighlightToggleButton::test_main PASSED [ 80%] tests/test_query.py::TestQuery_is_valid::test_re PASSED [ 80%] tests/test_query.py::TestQuery_is_valid::test_str PASSED [ 80%] tests/test_query.py::TestQuery_is_valid::test_tag PASSED [ 80%] tests/test_query.py::TestQuery_is_valid::test_empty PASSED [ 80%] tests/test_query.py::TestQuery_is_valid::test_emptylist PASSED [ 80%] tests/test_query.py::TestQuery_is_valid::test_nonsense PASSED [ 80%] tests/test_query.py::TestQuery_is_valid::test_trailing PASSED [ 80%] tests/test_query.py::TestQuery_is_valid::test_not PASSED [ 80%] tests/test_query.py::TestQuery_is_valid::test_taglist PASSED [ 80%] tests/test_query.py::TestQuery_is_valid::test_andor PASSED [ 80%] tests/test_query.py::TestQuery_is_valid::test_numcmp PASSED [ 80%] tests/test_query.py::TestQuery_is_valid::test_numcmp_func PASSED [ 80%] tests/test_query.py::TestQuery_is_valid::test_trinary PASSED [ 80%] tests/test_query.py::TestQuery_is_valid::test_list PASSED [ 80%] tests/test_query.py::TestQuery_is_valid::test_nesting PASSED [ 80%] tests/test_query.py::TestQuery_is_valid::test_extension PASSED [ 80%] tests/test_query.py::TestQuery_is_valid::test_extension_search PASSED [ 80%] tests/test_query.py::TestQuery_is_valid::test_invalid_extension PASSED [ 80%] tests/test_query.py::TestQuery_is_valid::test_numexpr PASSED [ 80%] tests/test_query.py::TestQuery_is_valid::test_numexpr_failures PASSED [ 80%] tests/test_query.py::TestQuery_is_valid::test_numexpr_fails_for_wrong_units PASSED [ 80%] tests/test_query.py::TQuery::test_2007_07_27_synth_search PASSED [ 80%] tests/test_query.py::TQuery::test_abbrs PASSED [ 80%] tests/test_query.py::TQuery::test_and_or_neg_operator PASSED [ 80%] tests/test_query.py::TQuery::test_basic_tag PASSED [ 80%] tests/test_query.py::TQuery::test_case PASSED [ 80%] tests/test_query.py::TQuery::test_dumb_search PASSED [ 80%] tests/test_query.py::TQuery::test_dumb_search_regexp PASSED [ 80%] tests/test_query.py::TQuery::test_dumb_search_value PASSED [ 80%] tests/test_query.py::TQuery::test_dumb_search_value_negate PASSED [ 81%] tests/test_query.py::TQuery::test_empty PASSED [ 81%] tests/test_query.py::TQuery::test_exp_and PASSED [ 81%] tests/test_query.py::TQuery::test_exp_or PASSED [ 81%] tests/test_query.py::TQuery::test_filename_utf8_fallback PASSED [ 81%] tests/test_query.py::TQuery::test_filter PASSED [ 81%] tests/test_query.py::TQuery::test_fs_utf8 PASSED [ 81%] tests/test_query.py::TQuery::test_gte PASSED [ 81%] tests/test_query.py::TQuery::test_ignore_characters PASSED [ 81%] tests/test_query.py::TQuery::test_inequality PASSED [ 81%] tests/test_query.py::TQuery::test_inequality_equalish_performance SKIPPED [ 81%] tests/test_query.py::TQuery::test_inequality_performance SKIPPED (Enable for basic benchmarking of Query) [ 81%] tests/test_query.py::TQuery::test_large_numbers PASSED [ 81%] tests/test_query.py::TQuery::test_match_all PASSED [ 81%] tests/test_query.py::TQuery::test_match_diacriticals_dumb PASSED [ 81%] tests/test_query.py::TQuery::test_match_diacriticals_explcit PASSED [ 81%] tests/test_query.py::TQuery::test_match_diacriticals_invalid_or_unsupported PASSED [ 81%] tests/test_query.py::TQuery::test_mountpoint_no_value PASSED [ 81%] tests/test_query.py::TQuery::test_mountpoint_utf8_fallback PASSED [ 81%] tests/test_query.py::TQuery::test_newlines PASSED [ 81%] tests/test_query.py::TQuery::test_not PASSED [ 81%] tests/test_query.py::TQuery::test_not_2 PASSED [ 81%] tests/test_query.py::TQuery::test_numcmp PASSED [ 81%] tests/test_query.py::TQuery::test_numexpr PASSED [ 81%] tests/test_query.py::TQuery::test_numexpr_date PASSED [ 81%] tests/test_query.py::TQuery::test_re PASSED [ 81%] tests/test_query.py::TQuery::test_re_and PASSED [ 81%] tests/test_query.py::TQuery::test_re_escape PASSED [ 81%] tests/test_query.py::TQuery::test_re_or PASSED [ 81%] tests/test_query.py::TQuery::test_repr PASSED [ 81%] tests/test_query.py::TQuery::test_search_almostequal PASSED [ 81%] tests/test_query.py::TQuery::test_star_numeric PASSED [ 81%] tests/test_query.py::TQuery::test_str PASSED [ 81%] tests/test_query.py::TQuery::test_synth_search PASSED [ 81%] tests/test_query.py::TQuery::test_trinary PASSED [ 82%] tests/test_query.py::TQuery::test_unslashed_search PASSED [ 82%] tests/test_query.py::TQuery::test_utf8 PASSED [ 82%] tests/test_query.py::TestQuery_get_type::test_red PASSED [ 82%] tests/test_query.py::TestQuery_get_type::test_black PASSED [ 82%] tests/test_query.py::TestQuery_get_type::test_green PASSED [ 82%] tests/test_query__match.py::TQueryInter::test_main PASSED [ 82%] tests/test_query__match.py::TQueryMatch::test_date_tag PASSED [ 82%] tests/test_query__match.py::TQueryMatch::test_numcmp_with_aggregate_and_units PASSED [ 82%] tests/test_query__match.py::TQueryMatch::test_numexpr_func PASSED [ 82%] tests/test_query__match.py::TQueryMatch::test_numexpr_now PASSED [ 82%] tests/test_query__match.py::TQueryMatch::test_numexpr_raises_for_invalid_units PASSED [ 82%] tests/test_query__match.py::TQueryMatch::test_numexpr_unit PASSED [ 82%] tests/test_query__match.py::TQueryMatch::test_time_tag PASSED [ 82%] tests/test_remote.py::TUnixRemote::test_fifo PASSED [ 82%] tests/test_remote.py::TUnixRemote::test_response PASSED [ 82%] tests/test_remote.py::TUnixRemoteFifoFullCycle::test_remote_send_message PASSED [ 82%] tests/test_session.py::TSession::test_all PASSED [ 82%] tests/test_session.py::TSession::test_session PASSED [ 82%] tests/test_setup.py::TestPoCommands::test_create_po_command PASSED [ 82%] tests/test_setup.py::TestPoCommands::test_create_pot_command PASSED [ 82%] tests/test_setup.py::TestPoCommands::test_update_po_command PASSED [ 82%] tests/test_setup.py::TestPoCommands::test_po_stats_command PASSED [ 82%] tests/test_setup.py::TestPoCommands::test_build_po PASSED [ 82%] tests/test_setup.py::TestPoCommands::test_build_mo PASSED [ 82%] tests/test_setup.py::TestPoCommands::test_install_mo PASSED [ 82%] tests/test_soundcloud_file.py::TSoundcloudFile::test_favoriting PASSED [ 82%] tests/test_soundcloud_file.py::TSoundcloudFile::test_unfavoriting PASSED [ 82%] tests/test_soundcloud_library.py::TSoundcloudLibrary::test_artwork_url PASSED [ 82%] tests/test_soundcloud_library.py::TSoundcloudLibrary::test_parse PASSED [ 82%] tests/test_unisearch.py::TUniSearch::test_construct_regexp PASSED [ 82%] tests/test_unisearch.py::TUniSearch::test_construct_regexp_37_change PASSED [ 82%] tests/test_unisearch.py::TUniSearch::test_construct_regexp_broken PASSED [ 82%] tests/test_unisearch.py::TUniSearch::test_literal PASSED [ 82%] tests/test_unisearch.py::TUniSearch::test_mapping PASSED [ 83%] tests/test_unisearch.py::TUniSearch::test_normalize_input PASSED [ 83%] tests/test_unisearch.py::TUniSearch::test_punct PASSED [ 83%] tests/test_unisearch.py::TUniSearch::test_re_replace PASSED [ 83%] tests/test_unisearch.py::TUniSearch::test_re_replace_escape PASSED [ 83%] tests/test_unisearch.py::TUniSearch::test_re_replace_multi PASSED [ 83%] tests/test_unisearch.py::TUniSearch::test_re_replace_multi_fixme PASSED [ 83%] tests/test_unisearch.py::TUniSearch::test_re_replace_multi_nested PASSED [ 83%] tests/test_unisearch.py::TUniSearch::test_seq PASSED [ 83%] tests/test_unisearch.py::TCompileMatch::test_assert_asym PASSED [ 83%] tests/test_unisearch.py::TCompileMatch::test_assert_asym_unicode_equivalence PASSED [ 83%] tests/test_unisearch.py::TCompileMatch::test_assert_dot_all PASSED [ 83%] tests/test_unisearch.py::TCompileMatch::test_basics_default PASSED [ 83%] tests/test_unisearch.py::TCompileMatch::test_ignore_case PASSED [ 83%] tests/test_unisearch.py::TCompileMatch::test_invalid PASSED [ 83%] tests/test_unisearch.py::TCompileMatch::test_unicode_equivalence PASSED [ 83%] tests/test_update.py::TUpdateDialog::test_main PASSED [ 83%] tests/test_util.py::Tmkdir::test_exists PASSED [ 83%] tests/test_util.py::Tmkdir::test_manydeep PASSED [ 83%] tests/test_util.py::Tmkdir::test_notdirectory PASSED [ 83%] tests/test_util.py::Tgetcwd::test_getcwd PASSED [ 83%] tests/test_util.py::Tmtime::test_bad PASSED [ 83%] tests/test_util.py::Tmtime::test_equal PASSED [ 83%] tests/test_util.py::Tformat_locale::test_format_float_locale PASSED [ 83%] tests/test_util.py::Tformat_locale::test_format_int_locale PASSED [ 83%] tests/test_util.py::Tformat_locale::test_format_time_seconds PASSED [ 83%] tests/test_util.py::Tunexpand::test_base PASSED [ 83%] tests/test_util.py::Tunexpand::test_base_trailing PASSED [ 83%] tests/test_util.py::Tunexpand::test_case_insensitive_win PASSED [ 83%] tests/test_util.py::Tunexpand::test_noprefix PASSED [ 83%] tests/test_util.py::Tunexpand::test_only_profile_case PASSED [ 83%] tests/test_util.py::Tunexpand::test_subfile PASSED [ 83%] tests/test_util.py::Tformat_rating::test_blank_lengths PASSED [ 83%] tests/test_util.py::Tformat_rating::test_blank_values PASSED [ 83%] tests/test_util.py::Tformat_rating::test_bogus PASSED [ 84%] tests/test_util.py::Tformat_rating::test_empty PASSED [ 84%] tests/test_util.py::Tformat_rating::test_full PASSED [ 84%] tests/test_util.py::Tformat_rating::test_rating_length PASSED [ 84%] tests/test_util.py::Tpango::test_escape_empty PASSED [ 84%] tests/test_util.py::Tpango::test_format PASSED [ 84%] tests/test_util.py::Tpango::test_format_escape PASSED [ 84%] tests/test_util.py::Tpango::test_roundtrip PASSED [ 84%] tests/test_util.py::Tpango::test_unescape_empty PASSED [ 84%] tests/test_util.py::Tre_esc::test_empty PASSED [ 84%] tests/test_util.py::Tre_esc::test_empty_unicode PASSED [ 84%] tests/test_util.py::Tre_esc::test_many_unsafe PASSED [ 84%] tests/test_util.py::Tre_esc::test_safe PASSED [ 84%] tests/test_util.py::Tre_esc::test_unsafe PASSED [ 84%] tests/test_util.py::Tdecode::test_empty PASSED [ 84%] tests/test_util.py::Tdecode::test_invalid PASSED [ 84%] tests/test_util.py::Tdecode::test_safe PASSED [ 84%] tests/test_util.py::Tencode::test_empty PASSED [ 84%] tests/test_util.py::Tencode::test_unicode PASSED [ 84%] tests/test_util.py::Tcapitalize::test_empty PASSED [ 84%] tests/test_util.py::Tcapitalize::test_firstword PASSED [ 84%] tests/test_util.py::Tcapitalize::test_nonalphabet PASSED [ 84%] tests/test_util.py::Tcapitalize::test_preserve PASSED [ 84%] tests/test_util.py::Thuman_sort::test_false PASSED [ 84%] tests/test_util.py::Thuman_sort::test_human PASSED [ 84%] tests/test_util.py::Thuman_sort::test_white PASSED [ 84%] tests/test_util.py::Tformat_time::test_hourss PASSED [ 84%] tests/test_util.py::Tformat_time::test_minutes PASSED [ 84%] tests/test_util.py::Tformat_time::test_negative PASSED [ 84%] tests/test_util.py::Tformat_time::test_seconds PASSED [ 84%] tests/test_util.py::Tparse_time::test_empty PASSED [ 84%] tests/test_util.py::Tparse_time::test_except PASSED [ 84%] tests/test_util.py::Tparse_time::test_invalid PASSED [ 84%] tests/test_util.py::Tparse_time::test_negative PASSED [ 84%] tests/test_util.py::Tparse_time::test_roundtrip PASSED [ 84%] tests/test_util.py::Tparse_date::test_invalid PASSED [ 85%] tests/test_util.py::Tparse_date::test_valid PASSED [ 85%] tests/test_util.py::Tparse_year::test_common_date_formats PASSED [ 85%] tests/test_util.py::Tdate_key::test_compare PASSED [ 85%] tests/test_util.py::Tdate_key::test_validate PASSED [ 85%] tests/test_util.py::Tformat_size::test_bytes PASSED [ 85%] tests/test_util.py::Tformat_size::test_gbytes PASSED [ 85%] tests/test_util.py::Tformat_size::test_kbytes PASSED [ 85%] tests/test_util.py::Tformat_size::test_mbytes PASSED [ 85%] tests/test_util.py::Ttag::test_basic PASSED [ 85%] tests/test_util.py::Ttag::test_basic_nocap PASSED [ 85%] tests/test_util.py::Ttag::test_empty PASSED [ 85%] tests/test_util.py::Ttag::test_internal PASSED [ 85%] tests/test_util.py::Ttag::test_numeric PASSED [ 85%] tests/test_util.py::Ttag::test_precap_handling PASSED [ 85%] tests/test_util.py::Ttag::test_two PASSED [ 85%] tests/test_util.py::Ttag::test_two_nocap PASSED [ 85%] tests/test_util.py::Ttagsplit::test_numeric PASSED [ 85%] tests/test_util.py::Ttagsplit::test_single_tag PASSED [ 85%] tests/test_util.py::Ttagsplit::test_synth PASSED [ 85%] tests/test_util.py::Ttagsplit::test_synth_tag PASSED [ 85%] tests/test_util.py::Ttagsplit::test_two_numeric PASSED [ 85%] tests/test_util.py::Ttagsplit::test_two_prefix PASSED [ 85%] tests/test_util.py::Ttagsplit::test_two_synth_start PASSED [ 85%] tests/test_util.py::Ttagsplit::test_two_tags PASSED [ 85%] tests/test_util.py::Tpattern::test_basic PASSED [ 85%] tests/test_util.py::Tpattern::test_basic_nocap PASSED [ 85%] tests/test_util.py::Tpattern::test_complex_condition PASSED [ 85%] tests/test_util.py::Tpattern::test_condition PASSED [ 85%] tests/test_util.py::Tpattern::test_empty PASSED [ 85%] tests/test_util.py::Tpattern::test_escape PASSED [ 85%] tests/test_util.py::Tpattern::test_escape_condition PASSED [ 85%] tests/test_util.py::Tpattern::test_internal PASSED [ 85%] tests/test_util.py::Tpattern::test_invalid PASSED [ 85%] tests/test_util.py::Tpattern::test_tied PASSED [ 86%] tests/test_util.py::Tpattern::test_unknown PASSED [ 86%] tests/test_util.py::Tformat_time_long::test_day PASSED [ 86%] tests/test_util.py::Tformat_time_long::test_days PASSED [ 86%] tests/test_util.py::Tformat_time_long::test_drop_zero PASSED [ 86%] tests/test_util.py::Tformat_time_long::test_hour PASSED [ 86%] tests/test_util.py::Tformat_time_long::test_hours PASSED [ 86%] tests/test_util.py::Tformat_time_long::test_limit PASSED [ 86%] tests/test_util.py::Tformat_time_long::test_limit_zero PASSED [ 86%] tests/test_util.py::Tformat_time_long::test_minute PASSED [ 86%] tests/test_util.py::Tformat_time_long::test_minutes PASSED [ 86%] tests/test_util.py::Tformat_time_long::test_notdays PASSED [ 86%] tests/test_util.py::Tformat_time_long::test_nothours PASSED [ 86%] tests/test_util.py::Tformat_time_long::test_notminutes PASSED [ 86%] tests/test_util.py::Tformat_time_long::test_notyears PASSED [ 86%] tests/test_util.py::Tformat_time_long::test_second PASSED [ 86%] tests/test_util.py::Tformat_time_long::test_seconds PASSED [ 86%] tests/test_util.py::Tformat_time_long::test_seconds_dropped PASSED [ 86%] tests/test_util.py::Tformat_time_long::test_year PASSED [ 86%] tests/test_util.py::Tformat_time_long::test_years PASSED [ 86%] tests/test_util.py::TFormatTimePreferred::test_acts_like_display PASSED [ 86%] tests/test_util.py::TFormatTimePreferred::test_acts_like_long PASSED [ 86%] tests/test_util.py::TFormatTimePreferred::test_default_setting_is_standard PASSED [ 86%] tests/test_util.py::TFormatTimePreferred::test_raw_config_is_standard PASSED [ 86%] tests/test_util.py::TFormatTimePreferred::test_seconds PASSED [ 86%] tests/test_util.py::Tspawn::test_get_output PASSED [ 86%] tests/test_util.py::Tspawn::test_invalid PASSED [ 86%] tests/test_util.py::Tspawn::test_simple PASSED [ 86%] tests/test_util.py::Txdg_dirs::test_data_home PASSED [ 86%] tests/test_util.py::Txdg_dirs::test_get_user_dirs PASSED [ 86%] tests/test_util.py::Txdg_dirs::test_on_windows PASSED [ 86%] tests/test_util.py::Txdg_dirs::test_parse_xdg_user_dirs PASSED [ 86%] tests/test_util.py::Txdg_dirs::test_system_data_dirs_posix PASSED [ 86%] tests/test_util.py::Tlibrary::test_basic PASSED [ 86%] tests/test_util.py::TNormalizePath::test_canonicalise PASSED [ 87%] tests/test_util.py::TNormalizePath::test_default PASSED [ 87%] tests/test_util.py::TNormalizePath::test_pathlib_is_equivalent PASSED [ 87%] tests/test_util.py::TNormalizePath::test_types PASSED [ 87%] tests/test_util.py::Tescape_filename::test_safe_chars PASSED [ 87%] tests/test_util.py::Tescape_filename::test_str PASSED [ 87%] tests/test_util.py::Tescape_filename::test_unicode PASSED [ 87%] tests/test_util.py::Tload_library::test_glib PASSED [ 87%] tests/test_util.py::Tload_library::test_libc PASSED [ 87%] tests/test_util.py::Tstrip_win32_incompat_from_path::test_basic PASSED [ 87%] tests/test_util.py::Tstrip_win32_incompat_from_path::test_types PASSED [ 87%] tests/test_util.py::TPathHandling::test_main PASSED [ 87%] tests/test_util.py::Tget_temp_cover_file::test_main PASSED [ 87%] tests/test_util.py::Tsplit_escape::test_join_escape PASSED [ 87%] tests/test_util.py::Tsplit_escape::test_join_escape_types PASSED [ 87%] tests/test_util.py::Tsplit_escape::test_roundtrip PASSED [ 87%] tests/test_util.py::Tsplit_escape::test_split_escape PASSED [ 87%] tests/test_util.py::Tsplit_escape::test_types PASSED [ 87%] tests/test_util.py::TMainRunner::test_abort_before_call PASSED [ 87%] tests/test_util.py::TMainRunner::test_call_exception PASSED [ 87%] tests/test_util.py::TMainRunner::test_from_main_loop PASSED [ 87%] tests/test_util.py::TMainRunner::test_multi_abort PASSED [ 87%] tests/test_util.py::TMainRunner::test_ok PASSED [ 87%] tests/test_util.py::TMainRunner::test_timeout PASSED [ 87%] tests/test_util.py::Tconnect_destroy::test_main PASSED [ 87%] tests/test_util.py::Tcached_property::test_dunder PASSED [ 87%] tests/test_util.py::Tcached_property::test_main PASSED [ 87%] tests/test_util.py::Tenum::test_main PASSED [ 87%] tests/test_util.py::Tenum::test_str PASSED [ 87%] tests/test_util.py::Tenum::test_value_of PASSED [ 87%] tests/test_util.py::Tenum::test_value_of_raises_for_unknown PASSED [ 87%] tests/test_util.py::Tenum::test_value_of_uses_default PASSED [ 87%] tests/test_util.py::Tenum::test_values PASSED [ 87%] tests/test_util.py::Tlist_unique::test_main PASSED [ 87%] tests/test_util.py::Treraise::test_reraise PASSED [ 88%] tests/test_util.py::Tenviron::test_main PASSED [ 88%] tests/test_util.py::Tget_module_dir::test_other PASSED [ 88%] tests/test_util.py::Tget_module_dir::test_self PASSED [ 88%] tests/test_util.py::Tget_ca_file::test_main PASSED [ 88%] tests/test_util.py::Tprint_exc::test_main PASSED [ 88%] tests/test_util.py::Tprint_exc::test_pass_exc_info PASSED [ 88%] tests/test_util.py::TPrintHandler::test_main PASSED [ 88%] tests/test_util.py::Tformat_exception::test_main PASSED [ 88%] tests/test_util.py::Textract_tb::test_main PASSED [ 88%] tests/test_util.py::test_capture_output PASSED [ 88%] tests/test_util_atomic.py::Tatomic_save::test_basic PASSED [ 88%] tests/test_util_atomic.py::Tatomic_save::test_non_exist PASSED [ 88%] tests/test_util_atomic.py::Tatomic_save::test_readonly PASSED [ 88%] tests/test_util_atomic.py::Tatomic_save::test_symbolic_link PASSED [ 88%] tests/test_util_collection.py::TAlbum::test_bayesian_average PASSED [ 88%] tests/test_util_collection.py::TAlbum::test_bayesian_multiple_ratings PASSED [ 88%] tests/test_util_collection.py::TAlbum::test_defaults PASSED [ 88%] tests/test_util_collection.py::TAlbum::test_internal_tags PASSED [ 88%] tests/test_util_collection.py::TAlbum::test_methods PASSED [ 88%] tests/test_util_collection.py::TAlbum::test_multiple_ratings PASSED [ 88%] tests/test_util_collection.py::TAlbum::test_numeric_comma PASSED [ 88%] tests/test_util_collection.py::TAlbum::test_numeric_funcs_text PASSED [ 88%] tests/test_util_collection.py::TAlbum::test_numeric_ops PASSED [ 88%] tests/test_util_collection.py::TAlbum::test_people_sort PASSED [ 88%] tests/test_util_collection.py::TAlbum::test_peoplesort_sort PASSED [ 88%] tests/test_util_collection.py::TAlbum::test_single_rating PASSED [ 88%] tests/test_util_collection.py::TAlbum::test_tied_num_tags PASSED [ 88%] tests/test_util_collection.py::TAlbum::test_tied_tags PASSED [ 88%] tests/test_util_collection.py::TPlaylist::test_append_signals PASSED [ 88%] tests/test_util_collection.py::TPlaylist::test_clear_signals PASSED [ 88%] tests/test_util_collection.py::TPlaylist::test_duplicates PASSED [ 88%] tests/test_util_collection.py::TPlaylist::test_duplicates_single_item PASSED [ 88%] tests/test_util_collection.py::TPlaylist::test_equality PASSED [ 88%] tests/test_util_collection.py::TPlaylist::test_extend_signals PASSED [ 89%] tests/test_util_collection.py::TPlaylist::test_index PASSED [ 89%] tests/test_util_collection.py::TPlaylist::test_internal_tags PASSED [ 89%] tests/test_util_collection.py::TPlaylist::test_listlike PASSED [ 89%] tests/test_util_collection.py::TPlaylist::test_make PASSED [ 89%] tests/test_util_collection.py::TPlaylist::test_name_tag PASSED [ 89%] tests/test_util_collection.py::TPlaylist::test_no_op_rename PASSED [ 89%] tests/test_util_collection.py::TPlaylist::test_numeric_ops PASSED [ 89%] tests/test_util_collection.py::TPlaylist::test_remove_fully PASSED [ 89%] tests/test_util_collection.py::TPlaylist::test_remove_leaving_duplicates PASSED [ 89%] tests/test_util_collection.py::TPlaylist::test_rename_nothing PASSED [ 89%] tests/test_util_collection.py::TPlaylist::test_rename_working PASSED [ 89%] tests/test_util_collection.py::TPlaylist::test_updating_aggregates_append PASSED [ 89%] tests/test_util_collection.py::TPlaylist::test_updating_aggregates_clear PASSED [ 89%] tests/test_util_collection.py::TPlaylist::test_updating_aggregates_extend PASSED [ 89%] tests/test_util_collection.py::TPlaylist::test_updating_aggregates_remove_songs PASSED [ 89%] tests/test_util_collection.py::TFileBackedPlaylist::test_append_signals PASSED [ 89%] tests/test_util_collection.py::TFileBackedPlaylist::test_clear_signals PASSED [ 89%] tests/test_util_collection.py::TFileBackedPlaylist::test_delete_emits_no_signals PASSED [ 89%] tests/test_util_collection.py::TFileBackedPlaylist::test_difficult_names PASSED [ 89%] tests/test_util_collection.py::TFileBackedPlaylist::test_duplicates PASSED [ 89%] tests/test_util_collection.py::TFileBackedPlaylist::test_duplicates_single_item PASSED [ 89%] tests/test_util_collection.py::TFileBackedPlaylist::test_equality PASSED [ 89%] tests/test_util_collection.py::TFileBackedPlaylist::test_extend_signals PASSED [ 89%] tests/test_util_collection.py::TFileBackedPlaylist::test_from_songs PASSED [ 89%] tests/test_util_collection.py::TFileBackedPlaylist::test_index PASSED [ 89%] tests/test_util_collection.py::TFileBackedPlaylist::test_internal_tags PASSED [ 89%] tests/test_util_collection.py::TFileBackedPlaylist::test_listlike PASSED [ 89%] tests/test_util_collection.py::TFileBackedPlaylist::test_make PASSED [ 89%] tests/test_util_collection.py::TFileBackedPlaylist::test_make_dup PASSED [ 89%] tests/test_util_collection.py::TFileBackedPlaylist::test_masked_handling PASSED [ 89%] tests/test_util_collection.py::TFileBackedPlaylist::test_name_tag PASSED [ 89%] tests/test_util_collection.py::TFileBackedPlaylist::test_no_op_rename PASSED [ 89%] tests/test_util_collection.py::TFileBackedPlaylist::test_numeric_ops PASSED [ 89%] tests/test_util_collection.py::TFileBackedPlaylist::test_read PASSED [ 90%] tests/test_util_collection.py::TFileBackedPlaylist::test_remove_fully PASSED [ 90%] tests/test_util_collection.py::TFileBackedPlaylist::test_remove_leaving_duplicates PASSED [ 90%] tests/test_util_collection.py::TFileBackedPlaylist::test_rename_fails_if_file_exists PASSED [ 90%] tests/test_util_collection.py::TFileBackedPlaylist::test_rename_nothing PASSED [ 90%] tests/test_util_collection.py::TFileBackedPlaylist::test_rename_removes PASSED [ 90%] tests/test_util_collection.py::TFileBackedPlaylist::test_rename_working PASSED [ 90%] tests/test_util_collection.py::TFileBackedPlaylist::test_symmetric PASSED [ 90%] tests/test_util_collection.py::TFileBackedPlaylist::test_updating_aggregates_append PASSED [ 90%] tests/test_util_collection.py::TFileBackedPlaylist::test_updating_aggregates_clear PASSED [ 90%] tests/test_util_collection.py::TFileBackedPlaylist::test_updating_aggregates_extend PASSED [ 90%] tests/test_util_collection.py::TFileBackedPlaylist::test_updating_aggregates_remove_songs PASSED [ 90%] tests/test_util_collection.py::TFileBackedPlaylist::test_write PASSED [ 90%] tests/test_util_collection.py::TXSPFBackedPlaylist::test_append_signals PASSED [ 90%] tests/test_util_collection.py::TXSPFBackedPlaylist::test_clear_signals PASSED [ 90%] tests/test_util_collection.py::TXSPFBackedPlaylist::test_delete_emits_no_signals PASSED [ 90%] tests/test_util_collection.py::TXSPFBackedPlaylist::test_difficult_names PASSED [ 90%] tests/test_util_collection.py::TXSPFBackedPlaylist::test_duplicates PASSED [ 90%] tests/test_util_collection.py::TXSPFBackedPlaylist::test_duplicates_single_item PASSED [ 90%] tests/test_util_collection.py::TXSPFBackedPlaylist::test_equality PASSED [ 90%] tests/test_util_collection.py::TXSPFBackedPlaylist::test_extend_signals PASSED [ 90%] tests/test_util_collection.py::TXSPFBackedPlaylist::test_from_songs PASSED [ 90%] tests/test_util_collection.py::TXSPFBackedPlaylist::test_index PASSED [ 90%] tests/test_util_collection.py::TXSPFBackedPlaylist::test_internal_tags PASSED [ 90%] tests/test_util_collection.py::TXSPFBackedPlaylist::test_listlike PASSED [ 90%] tests/test_util_collection.py::TXSPFBackedPlaylist::test_load_legacy_format_to_xspf PASSED [ 90%] tests/test_util_collection.py::TXSPFBackedPlaylist::test_make PASSED [ 90%] tests/test_util_collection.py::TXSPFBackedPlaylist::test_make_dup PASSED [ 90%] tests/test_util_collection.py::TXSPFBackedPlaylist::test_masked_handling PASSED [ 90%] tests/test_util_collection.py::TXSPFBackedPlaylist::test_name_tag PASSED [ 90%] tests/test_util_collection.py::TXSPFBackedPlaylist::test_no_op_rename PASSED [ 90%] tests/test_util_collection.py::TXSPFBackedPlaylist::test_numeric_ops PASSED [ 90%] tests/test_util_collection.py::TXSPFBackedPlaylist::test_read PASSED [ 90%] tests/test_util_collection.py::TXSPFBackedPlaylist::test_remove_fully PASSED [ 90%] tests/test_util_collection.py::TXSPFBackedPlaylist::test_remove_leaving_duplicates PASSED [ 91%] tests/test_util_collection.py::TXSPFBackedPlaylist::test_rename_fails_if_file_exists PASSED [ 91%] tests/test_util_collection.py::TXSPFBackedPlaylist::test_rename_nothing PASSED [ 91%] tests/test_util_collection.py::TXSPFBackedPlaylist::test_rename_removes PASSED [ 91%] tests/test_util_collection.py::TXSPFBackedPlaylist::test_rename_working PASSED [ 91%] tests/test_util_collection.py::TXSPFBackedPlaylist::test_symmetric PASSED [ 91%] tests/test_util_collection.py::TXSPFBackedPlaylist::test_updating_aggregates_append PASSED [ 91%] tests/test_util_collection.py::TXSPFBackedPlaylist::test_updating_aggregates_clear PASSED [ 91%] tests/test_util_collection.py::TXSPFBackedPlaylist::test_updating_aggregates_extend PASSED [ 91%] tests/test_util_collection.py::TXSPFBackedPlaylist::test_updating_aggregates_remove_songs PASSED [ 91%] tests/test_util_collection.py::TXSPFBackedPlaylist::test_v1_load_non_compliant_xspf PASSED [ 91%] tests/test_util_collection.py::TXSPFBackedPlaylist::test_write PASSED [ 91%] tests/test_util_collection.py::TXSPFBackedPlaylist::test_writes_multiple_line_files PASSED [ 91%] tests/test_util_collections.py::TDictMixin::test_clear PASSED [ 91%] tests/test_util_collections.py::TDictMixin::test_get PASSED [ 91%] tests/test_util_collections.py::TDictMixin::test_getsetitem PASSED [ 91%] tests/test_util_collections.py::TDictMixin::test_has_key_contains PASSED [ 91%] tests/test_util_collections.py::TDictMixin::test_items PASSED [ 91%] tests/test_util_collections.py::TDictMixin::test_iter PASSED [ 91%] tests/test_util_collections.py::TDictMixin::test_keys PASSED [ 91%] tests/test_util_collections.py::TDictMixin::test_len PASSED [ 91%] tests/test_util_collections.py::TDictMixin::test_pop PASSED [ 91%] tests/test_util_collections.py::TDictMixin::test_pop_bad PASSED [ 91%] tests/test_util_collections.py::TDictMixin::test_popitem PASSED [ 91%] tests/test_util_collections.py::TDictMixin::test_repr PASSED [ 91%] tests/test_util_collections.py::TDictMixin::test_setdefault PASSED [ 91%] tests/test_util_collections.py::TDictMixin::test_update_kwargs PASSED [ 91%] tests/test_util_collections.py::TDictMixin::test_update_other PASSED [ 91%] tests/test_util_collections.py::TDictMixin::test_update_other_is_list PASSED [ 91%] tests/test_util_collections.py::TDictMixin::test_values PASSED [ 91%] tests/test_util_collections.py::THashedList::test_del_slice PASSED [ 91%] tests/test_util_collections.py::THashedList::test_delete PASSED [ 91%] tests/test_util_collections.py::THashedList::test_duplicates PASSED [ 91%] tests/test_util_collections.py::THashedList::test_extend PASSED [ 91%] tests/test_util_collections.py::THashedList::test_init PASSED [ 92%] tests/test_util_collections.py::THashedList::test_insert PASSED [ 92%] tests/test_util_collections.py::THashedList::test_iter PASSED [ 92%] tests/test_util_collections.py::THashedList::test_length PASSED [ 92%] tests/test_util_collections.py::THashedList::test_set_slice PASSED [ 92%] tests/test_util_config.py::TConfig::test_get PASSED [ 92%] tests/test_util_config.py::TConfig::test_get_default PASSED [ 92%] tests/test_util_config.py::TConfig::test_get_fallback_default PASSED [ 92%] tests/test_util_config.py::TConfig::test_get_invalid_data PASSED [ 92%] tests/test_util_config.py::TConfig::test_getbytes PASSED [ 92%] tests/test_util_config.py::TConfig::test_getint_float PASSED [ 92%] tests/test_util_config.py::TConfig::test_getlist PASSED [ 92%] tests/test_util_config.py::TConfig::test_has_section PASSED [ 92%] tests/test_util_config.py::TConfig::test_initial_after_set PASSED [ 92%] tests/test_util_config.py::TConfig::test_options PASSED [ 92%] tests/test_util_config.py::TConfig::test_options_no_default PASSED [ 92%] tests/test_util_config.py::TConfig::test_read_garbage_file PASSED [ 92%] tests/test_util_config.py::TConfig::test_reset PASSED [ 92%] tests/test_util_config.py::TConfig::test_reset_no_section PASSED [ 92%] tests/test_util_config.py::TConfig::test_set PASSED [ 92%] tests/test_util_config.py::TConfig::test_set_default_only PASSED [ 92%] tests/test_util_config.py::TConfig::test_setbytes PASSED [ 92%] tests/test_util_config.py::TConfig::test_setlist PASSED [ 92%] tests/test_util_config.py::TConfig::test_stringlist_invalid_encoding PASSED [ 92%] tests/test_util_config.py::TConfig::test_stringlist_mixed PASSED [ 92%] tests/test_util_config.py::TConfig::test_stringlist_quoting PASSED [ 92%] tests/test_util_config.py::TConfig::test_stringlist_simple PASSED [ 92%] tests/test_util_config.py::TConfig::test_stringlist_spaces PASSED [ 92%] tests/test_util_config.py::TConfig::test_upgrade_first_read PASSED [ 92%] tests/test_util_config.py::TConfig::test_versioning PASSED [ 92%] tests/test_util_config.py::TConfig::test_versioning_disabled PASSED [ 92%] tests/test_util_config.py::TConfig::test_versioning_upgrade_func PASSED [ 92%] tests/test_util_config.py::TConfigProxy::test_default PASSED [ 92%] tests/test_util_config.py::TConfigProxy::test_get_initial PASSED [ 92%] tests/test_util_config.py::TConfigProxy::test_getters_setters PASSED [ 92%] tests/test_util_config.py::TConfigProxy::test_initial_and_reset PASSED [ 93%] tests/test_util_copool.py::Tcopool::test_add_remove PASSED [ 93%] tests/test_util_copool.py::Tcopool::test_add_remove_with_funcid PASSED [ 93%] tests/test_util_copool.py::Tcopool::test_pause_all PASSED [ 93%] tests/test_util_copool.py::Tcopool::test_pause_restart_pause PASSED [ 93%] tests/test_util_copool.py::Tcopool::test_pause_resume PASSED [ 93%] tests/test_util_copool.py::Tcopool::test_pause_resume_with_funcid PASSED [ 93%] tests/test_util_copool.py::Tcopool::test_step PASSED [ 93%] tests/test_util_copool.py::Tcopool::test_timeout PASSED [ 93%] tests/test_util_cover.py::TCoverManager::test_dir_not_exist PASSED [ 93%] tests/test_util_cover.py::TCoverManager::test_embedded_special_cover_words PASSED [ 93%] tests/test_util_cover.py::TCoverManager::test_file_encoding PASSED [ 93%] tests/test_util_cover.py::TCoverManager::test_get_many PASSED [ 93%] tests/test_util_cover.py::TCoverManager::test_get_thumbnail PASSED [ 93%] tests/test_util_cover.py::TCoverManager::test_glob PASSED [ 93%] tests/test_util_cover.py::TCoverManager::test_intelligent PASSED [ 93%] tests/test_util_cover.py::TCoverManager::test_invalid_glob PASSED [ 93%] tests/test_util_cover.py::TCoverManager::test_invalid_glob_path PASSED [ 93%] tests/test_util_cover.py::TCoverManager::test_labelid PASSED [ 93%] tests/test_util_cover.py::TCoverManager::test_multiple_entries PASSED [ 93%] tests/test_util_cover.py::TCoverManager::test_multiple_people PASSED [ 93%] tests/test_util_cover.py::TCoverManager::test_nothing PASSED [ 93%] tests/test_util_cover.py::TCoverManager::test_regular PASSED [ 93%] tests/test_util_cover.py::TCoverManager::test_search_missing_artist PASSED [ 93%] tests/test_util_cover.py::THttp::test_escape PASSED [ 93%] tests/test_util_dbusutils.py::TDbusUtils::test_filter_props PASSED [ 93%] tests/test_util_dbusutils.py::TDbusUtils::test_list_props PASSED [ 93%] tests/test_util_dbusutils.py::TDbusUtils::test_prop_sig PASSED [ 93%] tests/test_util_dbusutils.py::TDbusUtils::test_property_mixin PASSED [ 93%] tests/test_util_dbusutils.py::TDbusUtils::test_validate_utf8 PASSED [ 93%] tests/test_util_dprint.py::Tdprint::test_any_object PASSED [ 93%] tests/test_util_dprint.py::Tdprint::test_basics PASSED [ 93%] tests/test_util_dprint.py::Tdprint::test_format_exception_only PASSED [ 93%] tests/test_util_dprint.py::Tdprint::test_no_stack PASSED [ 93%] tests/test_util_environment.py::TUtilEnvironment::test_all PASSED [ 94%] tests/test_util_environment.py::TUtilEnvironment::test_constrains PASSED [ 94%] tests/test_util_fifo.py::Tsplit_message::test_main PASSED [ 94%] tests/test_util_fifo.py::TFIFO::test_creation_destruction PASSED [ 94%] tests/test_util_fifo.py::TFIFO::test_empty_read PASSED [ 94%] tests/test_util_fifo.py::TFIFO::test_glib_err_read PASSED [ 94%] tests/test_util_fifo.py::TFIFO::test_oserror_read PASSED [ 94%] tests/test_util_fifo.py::TFIFO::test_successful_read PASSED [ 94%] tests/test_util_fifo.py::TFIFO::test_unwriteable_location PASSED [ 94%] tests/test_util_i18n.py::TGlibTranslations::test_ugettext PASSED [ 94%] tests/test_util_i18n.py::TGlibTranslations::test_ungettext PASSED [ 94%] tests/test_util_i18n.py::TGlibTranslations::test_unpgettext PASSED [ 94%] tests/test_util_i18n.py::TGlibTranslations::test_upgettext PASSED [ 94%] tests/test_util_i18n.py::Tgettext::test_bcp47 PASSED [ 94%] tests/test_util_i18n.py::Tgettext::test_fixup_i18n_envvars PASSED [ 94%] tests/test_util_i18n.py::Tgettext::test_get_languages PASSED [ 94%] tests/test_util_i18n.py::Tgettext::test_iter_locale_dirs PASSED [ 94%] tests/test_util_i18n.py::Tgettext::test_numeric_phrase PASSED [ 94%] tests/test_util_i18n.py::Tgettext::test_numeric_phrase_locales PASSED [ 94%] tests/test_util_i18n.py::Tgettext::test_numeric_phrase_templated PASSED [ 94%] tests/test_util_i18n.py::Tgettext::test_numeric_phrase_translation PASSED [ 94%] tests/test_util_i18n.py::Tgettext::test_numeric_phrase_translation_templated PASSED [ 94%] tests/test_util_i18n.py::Tgettext::test_osx_locale_id_to_lang PASSED [ 94%] tests/test_util_i18n.py::Tgettext::test_set_envvars PASSED [ 94%] tests/test_util_json_data.py::TJsonData::test_field PASSED [ 94%] tests/test_util_json_data.py::TJsonData::test_from_invalid_json PASSED [ 94%] tests/test_util_json_data.py::TJsonData::test_json_object PASSED [ 94%] tests/test_util_json_data.py::TJsonData::test_nameless_construction PASSED [ 94%] tests/test_util_json_data.py::TJsonData::test_subclass PASSED [ 94%] tests/test_util_library.py::Tlibrary_utils::test_basic PASSED [ 94%] tests/test_util_library.py::Tlibrary_utils::test_colon_paths PASSED [ 94%] tests/test_util_library.py::Tlibrary_utils::test_get_exclude_dirs PASSED [ 94%] tests/test_util_library.py::Tlibrary_utils::test_get_scan_dirs PASSED [ 94%] tests/test_util_library.py::Tset_scan_dirs::test_set_scan_dirs_colons PASSED [ 94%] tests/test_util_library.py::Tset_scan_dirs::test_set_scan_dirs_empty PASSED [ 95%] tests/test_util_library.py::Tset_scan_dirs::test_set_scan_dirs_multiple PASSED [ 95%] tests/test_util_library.py::Tset_scan_dirs::test_set_scan_dirs_single PASSED [ 95%] tests/test_util_logging.py::TLogging::test_binary PASSED [ 95%] tests/test_util_logging.py::TLogging::test_cat PASSED [ 95%] tests/test_util_logging.py::TLogging::test_clear PASSED [ 95%] tests/test_util_logging.py::TLogging::test_limit PASSED [ 95%] tests/test_util_logging.py::TLogging::test_logging PASSED [ 95%] tests/test_util_logging.py::TLogging::test_max_logs PASSED [ 95%] tests/test_util_massagers.py::TMassagers::test_albumstatus PASSED [ 95%] tests/test_util_massagers.py::TMassagers::test_date_equivs PASSED [ 95%] tests/test_util_massagers.py::TMassagers::test_date_invalid PASSED [ 95%] tests/test_util_massagers.py::TMassagers::test_date_valid PASSED [ 95%] tests/test_util_massagers.py::TMassagers::test_error_message_helper PASSED [ 95%] tests/test_util_massagers.py::TMassagers::test_gain_equivs PASSED [ 95%] tests/test_util_massagers.py::TMassagers::test_gain_invalid PASSED [ 95%] tests/test_util_massagers.py::TMassagers::test_gain_valid PASSED [ 95%] tests/test_util_massagers.py::TMassagers::test_get_options_helper PASSED [ 95%] tests/test_util_massagers.py::TMassagers::test_is_valid_helper PASSED [ 95%] tests/test_util_massagers.py::TMassagers::test_language_valid PASSED [ 95%] tests/test_util_massagers.py::TMassagers::test_mbid_equivs PASSED [ 95%] tests/test_util_massagers.py::TMassagers::test_mbid_invalid PASSED [ 95%] tests/test_util_massagers.py::TMassagers::test_mbid_valid PASSED [ 95%] tests/test_util_massagers.py::TMassagers::test_peak_invalid PASSED [ 95%] tests/test_util_massagers.py::TMassagers::test_peak_valid PASSED [ 95%] tests/test_util_massagers.py::TMassagers::test_validate_helper PASSED [ 95%] tests/test_util_matcher.py::TMatchBasics::test_empty_weight_not_allowed PASSED [ 95%] tests/test_util_matcher.py::TMatchBasics::test_negative_weights_not_allowed PASSED [ 95%] tests/test_util_matcher.py::TMatchIdentity::test_all_elements_in_both_but_different_order PASSED [ 95%] tests/test_util_matcher.py::TMatchIdentity::test_minimum_similarity PASSED [ 95%] tests/test_util_matcher.py::TMatchIdentity::test_simple_unbalanced PASSED [ 95%] tests/test_util_matcher.py::TMatchListOfSequences::test_all_the_same PASSED [ 95%] tests/test_util_matcher.py::TMatchListOfSequences::test_change_weights PASSED [ 95%] tests/test_util_matcher.py::TMatchListOfSequences::test_clear_match PASSED [ 95%] tests/test_util_matcher.py::TMatchListOfSequences::test_double_weight PASSED [ 96%] tests/test_util_matcher.py::TMatchListOfSequences::test_match_a_to_nothing PASSED [ 96%] tests/test_util_matcher.py::TMatchListOfSequences::test_more_in_a PASSED [ 96%] tests/test_util_matcher.py::TMatchListOfSequences::test_more_in_b PASSED [ 96%] tests/test_util_matcher.py::TMatchListOfSequences::test_nothing_to_match_b_to PASSED [ 96%] tests/test_util_matcher.py::TMatchListOfSequences::test_numeric_asymmetry PASSED [ 96%] tests/test_util_matcher.py::TMatchListOfSequences::test_numeric_if_both_good_match_current_order_preferred PASSED [ 96%] tests/test_util_matcher.py::TMatchListOfSequences::test_other_now_barely_better PASSED [ 96%] tests/test_util_matcher.py::TMatchListOfSequences::test_should_go_through_every_attribute PASSED [ 96%] tests/test_util_matcher.py::TMatchClassFields::test_dominating_name_weights PASSED [ 96%] tests/test_util_matcher.py::TMatchClassFields::test_matching_works PASSED [ 96%] tests/test_util_matcher.py::TMatchClassFields::test_minimum_similarity PASSED [ 96%] tests/test_util_modulescanner.py::TModuleScanner::test_importables PASSED [ 96%] tests/test_util_modulescanner.py::TModuleScanner::test_importables_ignore_init PASSED [ 96%] tests/test_util_modulescanner.py::TModuleScanner::test_importables_package PASSED [ 96%] tests/test_util_modulescanner.py::TModuleScanner::test_importables_package_deps PASSED [ 96%] tests/test_util_modulescanner.py::TModuleScanner::test_load_dir_modules PASSED [ 96%] tests/test_util_modulescanner.py::TModuleScanner::test_load_dir_modules_packages PASSED [ 96%] tests/test_util_modulescanner.py::TModuleScanner::test_scanner_add PASSED [ 96%] tests/test_util_modulescanner.py::TModuleScanner::test_scanner_add_package PASSED [ 96%] tests/test_util_modulescanner.py::TModuleScanner::test_scanner_error PASSED [ 96%] tests/test_util_modulescanner.py::TModuleScanner::test_scanner_remove PASSED [ 96%] tests/test_util_modulescanner.py::TModuleScanner::test_unimportable_package PASSED [ 96%] tests/test_util_path.py::test_uri2gsturi PASSED [ 96%] tests/test_util_path.py::Tishidden::test_leading_dot PASSED [ 96%] tests/test_util_path.py::Tishidden::test_multiple_dots PASSED [ 96%] tests/test_util_path.py::Tishidden::test_normal_names_not_hidden PASSED [ 96%] tests/test_util_path.py::Turi::test_fsn2uri PASSED [ 96%] tests/test_util_path.py::Turi::test_path_as_uri PASSED [ 96%] tests/test_util_path.py::Turi::test_roundtrip PASSED [ 96%] tests/test_util_path.py::Turi::test_uri2fsn PASSED [ 96%] tests/test_util_path.py::Turi::test_uri2fsn_invalid PASSED [ 96%] tests/test_util_path.py::Turi::test_uri_is_valid PASSED [ 96%] tests/test_util_path.py::Turi::test_win_unc_path PASSED [ 96%] tests/test_util_path.py::Tget_x_dir::test_get_home_dir PASSED [ 97%] tests/test_util_path.py::Tlimit_path::test_main PASSED [ 97%] tests/test_util_path.py::Tiscommand::test_both PASSED [ 97%] tests/test_util_path.py::Tiscommand::test_looks_in_path PASSED [ 97%] tests/test_util_path.py::Tiscommand::test_unix PASSED [ 97%] tests/test_util_picklehelper.py::Tpickle_load::test_invalid PASSED [ 97%] tests/test_util_picklehelper.py::Tpickle_load::test_pickle_dump PASSED [ 97%] tests/test_util_picklehelper.py::Tpickle_load::test_pickle_dumps PASSED [ 97%] tests/test_util_picklehelper.py::Tpickle_load::test_pickle_dumps_fail PASSED [ 97%] tests/test_util_picklehelper.py::Tpickle_load::test_pickle_load PASSED [ 97%] tests/test_util_picklehelper.py::Tpickle_load::test_protocols PASSED [ 97%] tests/test_util_picklehelper.py::Tpickle_load::test_switch_class PASSED [ 97%] tests/test_util_string.py::Tisascii::test_main PASSED [ 97%] tests/test_util_string_filter.py::TRemoveDiacritics::test_empty PASSED [ 97%] tests/test_util_string_filter.py::TRemoveDiacritics::test_harder PASSED [ 97%] tests/test_util_string_filter.py::TRemovePunctuation::test_empty PASSED [ 97%] tests/test_util_string_filter.py::TRemovePunctuation::test_harder PASSED [ 97%] tests/test_util_string_filter.py::TRemovePunctuation::test_unicode PASSED [ 97%] tests/test_util_string_splitters.py::Tsplit_value::test_custom_splitter PASSED [ 97%] tests/test_util_string_splitters.py::Tsplit_value::test_double PASSED [ 97%] tests/test_util_string_splitters.py::Tsplit_value::test_no_splitters PASSED [ 97%] tests/test_util_string_splitters.py::Tsplit_value::test_non_word_following PASSED [ 97%] tests/test_util_string_splitters.py::Tsplit_value::test_non_word_preceding PASSED [ 97%] tests/test_util_string_splitters.py::Tsplit_value::test_single PASSED [ 97%] tests/test_util_string_splitters.py::Tsplit_value::test_two_splitters PASSED [ 97%] tests/test_util_string_splitters.py::Tsplit_value::test_unicode_word_boundary PASSED [ 97%] tests/test_util_string_splitters.py::Tsplit_value::test_word_boundary PASSED [ 97%] tests/test_util_string_splitters.py::Tsplit_title::test_custom_splitter PASSED [ 97%] tests/test_util_string_splitters.py::Tsplit_title::test_custom_subtag_splitter PASSED [ 97%] tests/test_util_string_splitters.py::Tsplit_title::test_prefix_and_trailing PASSED [ 97%] tests/test_util_string_splitters.py::Tsplit_title::test_prefix_and_version PASSED [ 97%] tests/test_util_string_splitters.py::Tsplit_title::test_prefixed PASSED [ 97%] tests/test_util_string_splitters.py::Tsplit_title::test_simple PASSED [ 97%] tests/test_util_string_splitters.py::Tsplit_title::test_trailing PASSED [ 97%] tests/test_util_string_splitters.py::Tsplit_title::test_two_versions PASSED [ 98%] tests/test_util_string_splitters.py::Tsplit_album::test_album_looks_like_disc PASSED [ 98%] tests/test_util_string_splitters.py::Tsplit_album::test_basic_disc PASSED [ 98%] tests/test_util_string_splitters.py::Tsplit_album::test_custom_splitter PASSED [ 98%] tests/test_util_string_splitters.py::Tsplit_album::test_disc_album_and_disc PASSED [ 98%] tests/test_util_string_splitters.py::Tsplit_album::test_looks_like_disc_but_isnt PASSED [ 98%] tests/test_util_string_splitters.py::Tsplit_album::test_weird_disc PASSED [ 98%] tests/test_util_string_splitters.py::Tsplit_album::test_weird_not_disc PASSED [ 98%] tests/test_util_string_splitters.py::Tsplit_people::test_cover PASSED [ 98%] tests/test_util_string_splitters.py::Tsplit_people::test_custom_splitter PASSED [ 98%] tests/test_util_string_splitters.py::Tsplit_people::test_featuring_person_bracketed PASSED [ 98%] tests/test_util_string_splitters.py::Tsplit_people::test_featuring_two_people PASSED [ 98%] tests/test_util_string_splitters.py::Tsplit_people::test_originally_by PASSED [ 98%] tests/test_util_string_splitters.py::Tsplit_people::test_parened_person PASSED [ 98%] tests/test_util_string_splitters.py::Tsplit_people::test_with_person PASSED [ 98%] tests/test_util_string_splitters.py::Tsplit_people::test_with_with_person PASSED [ 98%] tests/test_util_string_splitters.py::Tsplit_genre::test_genre_ampersand PASSED [ 98%] tests/test_util_string_splitters.py::Tsplit_genre::test_genre_comma PASSED [ 98%] tests/test_util_string_splitters.py::Tsplit_genre::test_genre_semicolon PASSED [ 98%] tests/test_util_string_splitters.py::Tsplit_genre::test_genre_slash PASSED [ 98%] tests/test_util_string_splitters.py::Tsplit_genre::test_genre_slash_before_comma PASSED [ 98%] tests/test_util_string_splitters.py::Tsplit_genre::test_single PASSED [ 98%] tests/test_util_string_titlecase.py::Ttitle::test_apostrophe PASSED [ 98%] tests/test_util_string_titlecase.py::Ttitle::test_basics PASSED [ 98%] tests/test_util_string_titlecase.py::Ttitle::test_empty PASSED [ 98%] tests/test_util_string_titlecase.py::Ttitle::test_english_human_title_case PASSED [ 98%] tests/test_util_string_titlecase.py::Ttitle::test_english_humanise_sentences PASSED [ 98%] tests/test_util_string_titlecase.py::Ttitle::test_extra_spaces PASSED [ 98%] tests/test_util_string_titlecase.py::Ttitle::test_nonalphabet PASSED [ 98%] tests/test_util_string_titlecase.py::Ttitle::test_oneword PASSED [ 98%] tests/test_util_string_titlecase.py::Ttitle::test_preserve PASSED [ 98%] tests/test_util_string_titlecase.py::Ttitle::test_quirks PASSED [ 98%] tests/test_util_string_titlecase.py::Ttitle::test_quotes PASSED [ 98%] tests/test_util_string_titlecase.py::Ttitle::test_tricky_apostrophes PASSED [ 98%] tests/test_util_string_titlecase.py::Ttitle::test_two_words_and_one_not PASSED [ 99%] tests/test_util_string_titlecase.py::Ttitle::test_twowords PASSED [ 99%] tests/test_util_string_titlecase.py::Ttitle::test_unicode PASSED [ 99%] tests/test_util_tags.py::TTags::test_basic PASSED [ 99%] tests/test_util_tags.py::TTags::test_readable PASSED [ 99%] tests/test_util_tagsfrompath.py::TTagsFromPattern::test_all PASSED [ 99%] tests/test_util_tagsfrompath.py::TTagsFromPattern::test_dict PASSED [ 99%] tests/test_util_tagsfrompath.py::TTagsFromPattern::test_disctrack PASSED [ 99%] tests/test_util_tagsfrompath.py::TTagsFromPattern::test_empty PASSED [ 99%] tests/test_util_tagsfrompath.py::TTagsFromPattern::test_nofakes PASSED [ 99%] tests/test_util_tagsfrompath.py::TTagsFromPattern::test_nongreedy PASSED [ 99%] tests/test_util_tagsfrompath.py::TTagsFromPattern::test_path PASSED [ 99%] tests/test_util_tagsfrompath.py::TTagsFromPattern::test_post PASSED [ 99%] tests/test_util_tagsfrompath.py::TTagsFromPattern::test_skip PASSED [ 99%] tests/test_util_tagsfrompath.py::TTagsFromPattern::test_songtypes PASSED [ 99%] tests/test_util_tagsfrompath.py::TTagsFromPattern::test_tracktitle PASSED [ 99%] tests/test_util_thread.py::Tcall_async::test_cancel PASSED [ 99%] tests/test_util_thread.py::Tcall_async::test_main PASSED [ 99%] tests/test_util_thread.py::Tcall_async::test_terminate_all PASSED [ 99%] tests/test_util_thumbnails.py::TThumb::test_get_cache_info PASSED [ 99%] tests/test_util_thumbnails.py::TThumb::test_get_thumbnail_folder PASSED [ 99%] tests/test_util_thumbnails.py::TThumb::test_recreate_broken_cache_file PASSED [ 99%] tests/test_util_thumbnails.py::TThumb::test_thumb PASSED [ 99%] tests/test_util_thumbnails.py::TThumb::test_thumb_from_file PASSED [ 99%] tests/test_util_thumbnails.py::TThumb::test_thumb_from_file_temp PASSED [ 99%] tests/test_util_thumbnails.py::TThumb::test_thumb_from_file_temp_partial PASSED [ 99%] tests/test_util_trash.py::TTrash::test_trash_removes_file PASSED [ 99%] tests/test_util_trash.py::TTrash::test_use_trash_is_false_on_darwin PASSED [ 99%] tests/test_util_trash.py::TTrash::test_use_trash_is_false_on_non_posix PASSED [ 99%] tests/test_util_trash.py::TTrash::test_use_trash_is_false_when_bypassed PASSED [ 99%] tests/test_util_trash.py::TTrash::test_use_trash_is_true_by_default_on_posix PASSED [ 99%] tests/test_windows.py::TWindows::test_dir_funcs SKIPPED (Wrong platform) [ 99%] tests/test_windows.py::TWindows::test_get_link_target SKIPPED (Wrong platform) [ 99%] tests/test_windows.py::TWindows::test_get_link_target_non_exist SKIPPED [ 99%] tests/test_windows.py::TWindows::test_get_link_target_unicode SKIPPED [100%] =================================== FAILURES =================================== ____________________ test_live_cover_download[lastfm-cover] ____________________ tests/plugin/test_covers.py:115: in test_live_cover_download assert results.success is not None, "No signal triggered" E AssertionError: No signal triggered E assert None is not None E + where None = Results(covers=[], success=None).success ___________________ test_live_cover_download[discogs-cover] ____________________ tests/plugin/test_covers.py:115: in test_live_cover_download assert results.success is not None, "No signal triggered" E AssertionError: No signal triggered E assert None is not None E + where None = Results(covers=[], success=None).success _______________________________ TMPRIS.test_main _______________________________ tests/plugin/test_mpris.py:134: in test_main assert not self._wait() ^^^^^^^^^^^^ tests/plugin/test_mpris.py:124: in _wait self.fail(f"Timed out waiting for replies ({msg})") E AssertionError: Timed out waiting for replies () ______________________ TReplayGain.test_analyze_sinewave _______________________ tests/plugin/test_replaygain.py:113: in test_analyze_sinewave self.assertAlmostEqual( tests/__init__.py:50: in assertAlmostEqual super().assertAlmostEqual(second, first, places, msg, delta) E TypeError: unsupported operand type(s) for -: 'float' and 'str' ----------------------------- Captured stderr call ----------------------------- E: [0199.014] ReplayGainPipeline._bus_message: Your GStreamer installation is missing a plug-in. E: [0199.015] ReplayGainPipeline._bus_message: ../gstreamer/subprojects/gst-plugins-base/gst/playback/gsturidecodebin.c(1070): no_more_pads_full (): /GstPipeline:pipeline3/GstURIDecodeBin:decode: no suitable plugins found: ../gstreamer/subprojects/gst-plugins-base/gst/playback/gstdecodebin2.c(4736): gst_decode_bin_expose (): /GstPipeline:pipeline3/GstURIDecodeBin:decode/GstDecodeBin:decodebin3: no suitable plugins found: Missing decoder: Free Lossless Audio Codec (FLAC) (audio/x-flac, channels=(int)1, framed=(boolean)true, rate=(int)44100, streamheader=(buffer)< 7f464c414301000002664c614300000022100010000005d5000b0b0ac440f0000158888222c2df8c846f810f056491915a6214, 8400009f200000007265666572656e6365206c6962464c414320312e332e30203230313330353236060000000d000000545241434b4e554d4245523d310b000000414c42554d3d5465737473110000004152544953543d51756f64204c6962657409000000444154453d32303134160000005449544c453d313130487a207465737420747261636b17000000434f4d4d454e54533d204e69636b20426f756c74626565 >) =============================== warnings summary =============================== tests/plugin/test_covers.py:69 /build/quodlibet/src/quodlibet-4.7.1/tests/plugin/test_covers.py:69: PytestUnknownMarkWarning: Unknown pytest.mark.flaky - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html @pytest.mark.flaky(max_runs=3, min_passes=1, rerun_filter=delay_rerun) quodlibet/util/winpipe.py:161 /build/quodlibet/src/quodlibet-4.7.1/quodlibet/util/winpipe.py:161: SyntaxWarning: 'break' in a 'finally' block break # noqa tests/test_library_file.py:193 /build/quodlibet/src/quodlibet-4.7.1/tests/test_library_file.py:193: PytestUnknownMarkWarning: Unknown pytest.mark.flaky - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html @pytest.mark.flaky(max_runs=3, min_passes=2) tests/test_util_copool.py:15 /build/quodlibet/src/quodlibet-4.7.1/tests/test_util_copool.py:15: PytestUnknownMarkWarning: Unknown pytest.mark.flaky - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html @pytest.mark.flaky(max_runs=3, min_passes=2) tests/test_util_thread.py:25 /build/quodlibet/src/quodlibet-4.7.1/tests/test_util_thread.py:25: PytestUnknownMarkWarning: Unknown pytest.mark.flaky - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html @pytest.mark.flaky(max_runs=3, min_passes=2) tests/plugin/test_albumart.py: 2 warnings tests/plugin/test_clock.py: 1 warning tests/plugin/test_custom_commands.py: 1 warning tests/plugin/test_prefs.py: 12 warnings tests/plugin/test_synchronize_to_device.py: 56 warnings tests/test_browsers__base.py: 18 warnings tests/test_browsers_albums.py: 7 warnings tests/test_browsers_covergrid.py: 7 warnings tests/test_browsers_paned.py: 5 warnings tests/test_browsers_playlists.py: 4 warnings tests/test_browsers_podcasts.py: 1 warning tests/test_browsers_search.py: 12 warnings tests/test_commands.py: 2 warnings tests/test_qltk_cbes.py: 2 warnings tests/test_qltk_entry.py: 4 warnings tests/test_qltk_exfalso.py: 1 warning tests/test_qltk_getstring.py: 2 warnings tests/test_qltk_prefs.py: 1 warning tests/test_qltk_renamefiles.py: 9 warnings tests/test_qltk_searchbar.py: 2 warnings /build/quodlibet/src/quodlibet-4.7.1/quodlibet/qltk/entry.py:202: Warning: g_value_get_int: assertion 'G_VALUE_HOLDS_INT (value)' failed super().set_text(*args) tests/test_errorreport.py::Tsentrywrapper::test_main /build/quodlibet/src/quodlibet-4.7.1/quodlibet/packages/raven/utils/__init__.py:15: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81. import pkg_resources tests/test_po.py::test_potfile_format /build/quodlibet/src/quodlibet-4.7.1/gdist/gettextutil.py:196: GettextWarning: quodlibet/errorreport/ui.py:84: warning: Message contains an embedded URL. Better move it out of the translatable string, see https://www.gnu.org/software/gettext/manual/html_node/No-embedded-URLs.html quodlibet/ext/events/mpris/__init__.py:41: warning: Message contains an embedded URL. Better move it out of the translatable string, see https://www.gnu.org/software/gettext/manual/html_node/No-embedded-URLs.html quodlibet/ext/songsmenu/replaygain.py:583: warning: Message contains an embedded URL. Better move it out of the translatable string, see https://www.gnu.org/software/gettext/manual/html_node/No-embedded-URLs.html pot_path = _create_pot(potfiles_path, src_root) tests/test_po.py::test_potfile_format /build/quodlibet/src/quodlibet-4.7.1/gdist/gettextutil.py:196: GettextWarning: xgettext: warning: a fallback ITS rule file '/usr/share/gettext-1.0/its/metainfo.its' is used; it may not be in sync with the upstream xgettext: warning: a fallback ITS rule file '/usr/share/gettext-1.0/its/metainfo.its' is used; it may not be in sync with the upstream pot_path = _create_pot(potfiles_path, src_root) tests/test_qltk_entry.py::TUndoEntry::test_undo_delete tests/test_qltk_entry.py::TUndoEntry::test_undo_delete_space tests/test_qltk_entry.py::TUndoEntry::test_undo_insert_end tests/test_qltk_entry.py::TUndoEntry::test_undo_insert_end_2 tests/test_qltk_entry.py::TUndoEntry::test_undo_insert_middle tests/test_qltk_entry.py::TUndoEntry::test_undo_norm tests/test_qltk_entry.py::TUndoEntry::test_undo_reset tests/test_qltk_entry.py::TUndoEntry::test_undo_space /usr/lib/python3.14/site-packages/gi/overrides/Gtk.py:208: Warning: g_value_get_int: assertion 'G_VALUE_HOLDS_INT (value)' failed return super().insert_text(text, -1, position) -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ERROR: failed tests/plugin/test_covers.py::test_live_cover_download[lastfm-cover]: ERROR: failed tests/plugin/test_covers.py::test_live_cover_download[discogs-cover]: ERROR: failed tests/plugin/test_mpris.py::TMPRIS::test_main: ERROR: failed tests/plugin/test_replaygain.py::TReplayGain::test_analyze_sinewave: =========================== short test summary info ============================ FAILED tests/plugin/test_covers.py::test_live_cover_download[lastfm-cover] - AssertionError: No signal triggered assert None is not None + where None = Results(covers=[], success=None).success FAILED tests/plugin/test_covers.py::test_live_cover_download[discogs-cover] - AssertionError: No signal triggered assert None is not None + where None = Results(covers=[], success=None).success FAILED tests/plugin/test_mpris.py::TMPRIS::test_main - AssertionError: Timed out waiting for replies () FAILED tests/plugin/test_replaygain.py::TReplayGain::test_analyze_sinewave - TypeError: unsupported operand type(s) for -: 'float' and 'str' = 4 failed, 3372 passed, 37 skipped, 10 deselected, 165 warnings in 1480.38s (0:24:40) = Error in sys.excepthook: Original exception was: ==> ERROR:(B A failure occurred in check().(B  Aborting...(B ]3008;end=2475bbfa65d3462d9e5b98927425f4e8\[!p]104\[?7h]3008;end=5ebe9d60d53945c7bf76199b98582d2d\==> ERROR:(B Build failed, check /var/lib/archbuild/extra-riscv64/felix-11/build(B [?12l[?25h[?12l[?25h]3008;end=cf9540f366a44be8a90f3bb73d5c680a\[?12l[?25hreceiving incremental file list quodlibet-4.7.1-3-riscv64-build.log quodlibet-4.7.1-3-riscv64-check.log quodlibet-4.7.1-3-riscv64-prepare.log sent 81 bytes received 33,185 bytes 13,306.40 bytes/sec total size is 308,982 speedup is 9.29