Bug#792221: libnet-frame-device-perl: FTBFS without networking: t/04-new-default and t/05-new-target fail

gregor herrmann gregoa at debian.org
Mon Jul 13 08:05:16 UTC 2015


On Mon, 13 Jul 2015 08:40:36 +0100, solo-debianbugs at goeswhere.com wrote:

> > Possible precedence issue with control flow operator at /tmp/buildd/libnet-frame-device-perl-1.10/blib/lib/Net/Frame/Device.pm line 63.
> > Net::Frame::Device: updateFromTarget: unable to get dnet
> > t/05-new-target.t .... 
> > 1..1
> > # Running under perl version 5.020002 for linux
> > # Current time local: Sun Jul 12 23:16:50 2015
> > # Current time GMT:   Sun Jul 12 23:16:50 2015
> > # Using Test.pm version 1.26
> > Dubious, test returned 101 (wstat 25856, 0x6500)
> > Failed 1/1 subtests 

> > but only during the build, when cowbuilder drops me into a shell, a
> > manual `prove --blib --verbose t/*.t' works fine.

> I was manually re-testing things inside lxc (with eth0 down), and can
> hit the failure even with `prove`:

Aha! 'eth0 down' might be the keyword, since the actual error comes
from the various intf_get* methods in
https://anonscm.debian.org/cgit/pkg-perl/packages/libnet-frame-device-perl.git/tree/lib/Net/Frame/Device.pm
 
> % lxc-attach -n sid2
> root at sid2:~# cd libnet-frame-device-perl-1.10/
> root at sid2:~/libnet-frame-device-perl-1.10# ifdown eth0
> [...]
> root at sid2:~/libnet-frame-device-perl-1.10# prove --blib --verbose t/*.t
> t/01-use.t ...........
> [...]
> t/04-new-default.t ... 
> 1..1
> # Running under perl version 5.020002 for linux
> # Current time local: Mon Jul 13 07:23:47 2015
> # Current time GMT:   Mon Jul 13 07:23:47 2015
> # Using Test.pm version 1.26
> Possible precedence issue with control flow operator at /home/faux/libnet-frame-device-perl-1.10/blib/lib/Net/Frame/Device.pm line 63.
> Net::Frame::Device: updateFromDefault: unable to get dnet
> Dubious, test returned 101 (wstat 25856, 0x6500)
> Failed 1/1 subtests 
> t/05-new-target.t .... 
> 1..1
> # Running under perl version 5.020002 for linux
> # Current time local: Mon Jul 13 07:23:47 2015
> # Current time GMT:   Mon Jul 13 07:23:47 2015
> # Using Test.pm version 1.26
> Possible precedence issue with control flow operator at /home/faux/libnet-frame-device-perl-1.10/blib/lib/Net/Frame/Device.pm line 63.
> Net::Frame::Device: updateFromTarget: unable to get dnet
> Dubious, test returned 101 (wstat 25856, 0x6500)
> Failed 1/1 subtests 
> 
> 
> 
> Is it my imagination, or does that "unable to get dnet" message appear
> in the 05 test only for me?

Well, it's in my output above as well :)
 
> And, because I failed to send the e-mail before getting distracted, I
> did some debugging:

:)
 
> The (apparent) error is it calling intf_get_dst('1.1.1.1') which
> "retrieves the configuration for the best interface with which to
> reach the specified dst.", which fails.
[..]
> Does that help you reproduce it?  I suspect the answer is simply to disable
> these tests if there isn't public connectivity (or just generally), however.

Thanks, this helps indeed.

I just think the problem is not "public connectivity" per se (as I
said yesterday, the tests pass when everyhing except localhost is
REJECTed with iptables) but absence of (or missing persmissions on)
the _device_ that would be used for connecting to the world. - Not
sure how to check for this condition, so maybe skipping the tests
generally is really the way to go.


Cheers,
gregor

-- 
 .''`.  Homepage: http://info.comodo.priv.at/ - OpenPGP key 0xBB3A68018649AA06
 : :' : Debian GNU/Linux user, admin, and developer -  https://www.debian.org/
 `. `'  Member of VIBE!AT & SPI, fellow of the Free Software Foundation Europe
   `-   BOFH excuse #420:  Feature was not beta tested 



More information about the pkg-perl-maintainers mailing list