You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/dev-perl/Net-ARP/files/Net-ARP-1.0.9-tests.patch

118 lines
3.0 KiB

From 38c823ef25d78205e24314233ae7a503967b53e9 Mon Sep 17 00:00:00 2001
From: Kent Fredric <kentnl@gentoo.org>
Date: Wed, 13 Dec 2017 22:22:20 +1300
Subject: Guard tests that require network device names and root via ENV
---
Makefile.PL | 9 ---------
t/arp_lookup.t | 10 ++++++++--
t/send_packet.t | 13 +++++++++++--
test.pl | 23 ++++++++---------------
4 files changed, 27 insertions(+), 28 deletions(-)
diff --git a/Makefile.PL b/Makefile.PL
index e1a4ee7..fbfe0b0 100755
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -18,15 +18,6 @@
use ExtUtils::MakeMaker;
use Config;
-BEGIN {
- eval { require Net::Pcap };
-
- if($@)
- {
- print "Module Net::Pcap is required for make test!\n";
- }
-}
-
if($Config{'osname'} =~ /linux/i)
{
$flags = "-DLINUX";
diff --git a/t/arp_lookup.t b/t/arp_lookup.t
index 4cf9626..df68c90 100644
--- a/t/arp_lookup.t
+++ b/t/arp_lookup.t
@@ -13,8 +13,14 @@ ok( $mac eq "unknown", "unkown mac on strange dev value -> $mac" );
$mac = Net::ARP::arp_lookup("$fu","127.0.0.1");
ok( $mac eq "unknown", "unkown mac on strange dev value 2 -> $mac" );
-$mac = Net::ARP::arp_lookup("eth0","this_is_not_an_ip_address");
-ok( $mac eq "unknown", "unkown mac on strange ip value -> $mac" );
+SKIP: {
+
+ skip "TEST_ARP_IF unset", 1 unless exists $ENV{TEST_ARP_IF};
+
+ $mac = Net::ARP::arp_lookup($ENV{TEST_ARP_IF},"this_is_not_an_ip_address");
+ ok( $mac eq "unknown", "unkown mac on strange ip value -> $mac" );
+
+}
#Net::ARP::arp_lookup("eth0","192.168.1.1","fu");
#ok( $mac eq "unknown", "unkown mac on strange mac value" );
diff --git a/t/send_packet.t b/t/send_packet.t
index 1f95f4f..3b4b998 100644
--- a/t/send_packet.t
+++ b/t/send_packet.t
@@ -5,9 +5,18 @@
# Last update: 22.06.2013
use Net::ARP;
-use Test::More qw( no_plan );
+use Test::More;
+BEGIN {
+ if ( $> != 0 ) {
+ plan skip_all => "This test must be run as root";
+ }
+ if ( not exists $ENV{TEST_ARP_IF} ) {
+ plan skip_all => "TEST_ARP_IF not specified";
+ }
+ $dev = $ENV{TEST_ARP_IF};
+ plan qw/no_plan/;
+}
-$dev="lo";
print "Using device $dev to test send_packet()\n";
$ret = Net::ARP::send_packet("strange_dev", # network interface
diff --git a/test.pl b/test.pl
index 27af515..c2e4cc2 100755
--- a/test.pl
+++ b/test.pl
@@ -19,23 +19,16 @@
use ExtUtils::testlib;
use Net::ARP;
-BEGIN
-{
- eval{ require Net::Pcap; };
-
- if($@ =~ /^Can\'t\slocate/)
- {
- $dev = "eth0";
- }
- else
- {
- import Net::Pcap;
- $dev = Net::Pcap::lookupdev(\$errbuf);
- }
+if ( $> != 0 ) {
+ print "SKIPPED: test must be run as root\n";
+ exit 0;
}
-
+if ( not exists $ENV{TEST_ARP_IF} ) {
+ print "SKIPPED: TEST_ARP_IF unset\n";
+ exit 0;
+}
+$dev = $ENV{TEST_ARP_IF};
print "Sending ARP reply packet via dev $dev... ";
-
$ret = Net::ARP::send_packet($dev, # network interface
'127.0.0.1', # source ip
'127.0.0.1', # destination ip
--
2.14.3