Bug#545626: libcache-memcached-perl: FTBFS: tests failed

gregor herrmann gregoa at debian.org
Tue Sep 8 16:46:50 UTC 2009


On Tue, 08 Sep 2009 11:48:03 +0200, Lucas Nussbaum wrote:

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

Builds fine for me in a sid cowbuilder chroot on i386, fails in a sid
cowbuilder chroot on amd64.
 
> Is the test timing-dependent? Maybe it could be relaxed a bit. Also,
> the build hanged after the failure.
 
> > Use of uninitialized value $proto in socket at /build/user-libcache-memcached-perl_1.26-1-amd64-QzY5ES/libcache-memcached-perl-1.26/blib/lib/Cache/Memcached.pm line 262.
> > 
> > #   Failed test 'Should return fast on retry'
> > #   at t/05_reconnect_timeout.t line 28.
> > # Looks like you failed 1 test of 2.
> > t/05_reconnect_timeout....dubious
> > 	Test returned status 1 (wstat 256, 0x100)
> > DIED. FAILED test 2
> > 	Failed 1/2 tests, 50.00% okay
> > Use of uninitialized value $proto in socket at /build/user-libcache-memcached-perl_1.26-1-amd64-QzY5ES/libcache-memcached-perl-1.26/blib/lib/Cache/Memcached.pm line 262.
> > 
> > #   Failed test 'OK'
> > #   at t/100_flush_bug.t line 57.
> > #          got: '0'
> > #     expected: '1'
> > # Looks like you failed 1 test of 7.

This uninitialized $proto sounds interesting.

If I add "netbase" to the build deps, it still builds fine on i386,
and now fails differently on amd64 (no warnings, only one failure,
fails the 'other' test in this file):

t/05_reconnect_timeout....
#   Failed test 'Expected pause while connecting'
#   at t/05_reconnect_timeout.t line 23.
# Looks like you failed 1 test of 2.
dubious
        Test returned status 1 (wstat 256, 0x100)
DIED. FAILED test 1
        Failed 1/2 tests, 50.00% okay


Seems that machine is too fast :)


Test code (with debug output added:)

  my $time1 = Time::HiRes::time();
  $memd->set("key", "bar");
  my $time2 = Time::HiRes::time();
  print STDERR "\ntime2 - time1: ", $time2 - $time1, "\n";
  # 100ms is faster than the default connect timeout.
  ok($time2 - $time1 > .1, "Expected pause while connecting");

  # 100ms should be slow enough that dead socket reconnects happen faster than it.
  $memd->set("key", "foo");
  my $time3 = Time::HiRes::time();
  print STDERR "\ntime3 - time2: ", $time3 - $time2, "\n";
  ok($time3 - $time2 < .1, "Should return fast on retry");

Output: 

  t/05_reconnect_timeout....
  time2 - time1: 0.0113039016723633

  #   Failed test 'Expected pause while connecting'
  #   at t/05_reconnect_timeout.t line 24.

  time3 - time2: 0.00240802764892578
  # Looks like you failed 1 test of 2.
  dubious
          Test returned status 1 (wstat 256, 0x100)
  DIED. FAILED test 1
          Failed 1/2 tests, 50.00% okay

(On my desktop machine:

  t/05_reconnect_timeout....
  time2 - time1: 0.252062082290649

  time3 - time2: 0.00292301177978516
  ok
)


If I understand the purpose of the test correctly it's about the
second test (the reconnect stuff), so I guess we can just skip the
first one or check for "> 0" or something.

What do others think about this?


Cheers,
gregor
-- 
 .''`.   http://info.comodo.priv.at/ -- GPG Key IDs: 0x00F3CFE4, 0x8649AA06
 : :' :  Debian GNU/Linux user, admin, & developer - http://www.debian.org/
 `. `'   Member of VIBE!AT, SPI Inc., fellow of FSFE | http://got.to/quote/
   `-    NP: Janis Joplin: Mercedes Benz
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-perl-maintainers/attachments/20090908/b905310d/attachment-0001.pgp>


More information about the pkg-perl-maintainers mailing list