#!/usr/bin/perl
use strict;
use warnings;
use List::MoreUtils qw{ any };
use Data::Dumper qw(Dumper);
use English qw( -no_match_vars );
use Test::More;
my $tests;
plan tests => $tests;
my $warn;
BEGIN {
$SIG{__WARN__} = sub { $warn = shift };
}
use Net::RawIP qw{ :pcap };
{
if ($EUID) {
like $warn, qr/Must have EUID == 0/, "root warning seen";
} else {
ok(not(defined $warn), "no root warning");
}
BEGIN { $tests += 1; }
}
$SIG{__WARN__} = 'DEFAULT';
is( test_undef(), 1, 'no_undefs' );
BEGIN { $tests += 1; }
sub test_undef {
my $raw = Net::RawIP->new({
icmp => {}
});
$raw->set({
icmp => {
type => 8,
id => $$
},
});
return 0 if any {!defined($_)} @{ $raw->{icmphdr} };
return 1;
}
syntax highlighted by Code2HTML, v. 0.9.1