On Mon, 10 Nov 2014 at 14:56:48 +0000, Simon McVittie wrote: > Of course, I meant to refer to > https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=768692 > in libaudio-mpd-perl, rather than pointing to the same bug twice :-)
It's a behaviour change in mpd 0.19; search for for total_duration in <http://anonscm.debian.org/cgit/pkg-mpd/pkg-mpd.git/commit/?id=upstream/0.19>. I suggest this patch (untested but should work), and the equivalent for libpoe-component-client-mpd-perl. Unfortunately, the tests are quietly skipped on machines where mpd is running (even if it is not actually listening on an IP port) so it's annoying for a mpd user to run these tests... diff --git a/t/24-info.t b/t/24-info.t index af031c3..49f4137 100644 --- a/t/24-info.t +++ b/t/24-info.t @@ -18,7 +18,7 @@ use Test::More; eval 'use Test::Corpus::Audio::MPD'; plan skip_all => $@ if $@ =~ s/\n+Compilation failed.*//s; -plan tests => 16; +plan tests => 17; my $mpd = Audio::MPD->new; my $song; @@ -34,7 +34,12 @@ is( $stats->artists, 1, 'one artist in the database' ); is( $stats->albums, 1, 'one album in the database' ); is( $stats->songs, 5, '5 songs in the database' ); is( $stats->playtime, 0, 'already played 0 seconds' ); -is( $stats->db_playtime, 10, '10 seconds worth of music in the db' ); +# Test::Corpus::Audio::MPD contains 5 tracks just over 1.8 seconds each. +# mpd < 0.19 rounded each track up to 2 seconds then added the lengths +# in seconds to get 10s, but mpd >= 0.19 adds up the lengths in ms and then +# rounds it down to 9s. +cmp_ok( $stats->db_playtime, '>=', 9, '>= 9 seconds worth of music in the db' ); +cmp_ok( $stats->db_playtime, '<=', 10, '<= 10 seconds worth of music in the db' ); isnt( $stats->uptime, undef, 'uptime is defined' ); isnt( $stats->db_update, 0, 'database has been updated' ); Regards, S -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org