Control: tags -1 + patch

Étienne Mollier, on 2024-05-03:
> Has someone an idea of better approach?

Answering to myself, the test suite does not actually attempt to
access the Internet, but it does attempt to access the device on
the build machine that can route by default to 1.1.1.1.  This is
not because it is a Cloudflare DNS, but merely because it is the
first usable ipv4 available at hand.  Especially in chroot-mode
unshare, there are no device leading to Internet exposed, thus
no device able to route to 1.1.1.1 with the default object
instanciation routine.

It turns out that the class can be told to construct objects
that refer to the loopback interface by asking for routes to the
loopback network (127/8 in ipv4, ::1/64 in ipv6).  I prepared a
patch in this direction and consider uploading soon.

Have a nice day,  :)
-- 
  .''`.  Étienne Mollier <emoll...@debian.org>
 : :' :  pgp: 8f91 b227 c7d6 f2b1 948c  8236 793c f67e 8f0d 11da
 `. `'   sent from /dev/pts/2, please excuse my verbosity
   `-    on air: Allman Brothers Band - Statesboro Blues
Description: fix build failure when no network interfaces are available.
 On buildd systems using sbuild chroot mode unshare, the network interface
 leading to Internet is not exposed.  However the default construction method
 for instanciating Net::Frame::Devices relies on the existence of a network
 interface able to route to 1.1.1.1.  This change adjusts the test suite items
 failing when not such interfaces are available, by trying to refer to loopback
 interfaces instead.  Note this slightly changes the meaning of the
 t/04-new-default.t, as it does not test the default behavior anymore, but it
 tests the behavior with ipv6 targets instead.
 .
 This addresses a Debian infrastructure specific behavior, probably not much
 worth forwarding upstream.

Author: Étienne Mollier <emoll...@debian.org>
Bug-Debian: https://bugs.debian.org/1070334
Forwarded: not-needed
Last-Update: 2024-05-04
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
--- libnet-frame-device-perl.orig/t/05-new-target.t
+++ libnet-frame-device-perl/t/05-new-target.t
@@ -2,7 +2,7 @@
 BEGIN { plan(tests => 1) }
 
 use Net::Frame::Device;
-my $d = Net::Frame::Device->new(target => '2.2.2.2') or die("Device::new");
+my $d = Net::Frame::Device->new(target => '127.1.1.1') or die("Device::new");
 print $d->cgDumper if $d->can('cgDumper');
 
 ok(1);
--- libnet-frame-device-perl.orig/t/04-new-default.t
+++ libnet-frame-device-perl/t/04-new-default.t
@@ -2,7 +2,7 @@
 BEGIN { plan(tests => 1) }
 
 use Net::Frame::Device;
-my $d = Net::Frame::Device->new or die("Device::new");
+my $d = Net::Frame::Device->new(target6 => '::1') or die("Device::new");
 print $d->cgDumper if $d->can('cgDumper');
 
 ok(1);

Attachment: signature.asc
Description: PGP signature

Reply via email to