test error when binding to wrong local address

Test "fping -S" with both IPv4 and IPv6 addresses not configured
on local interfaces using addresses reserved for documentation.
Check the fping error message, but accept any system generated
additional information.  This additional information differs
between operation systems.
pull/321/head
Erik Auerswald 6 months ago committed by David Schweikert
parent 79e274d4b8
commit 97b7484350

@ -1,6 +1,6 @@
#!/usr/bin/perl -w #!/usr/bin/perl -w
use Test::Command tests => 21; use Test::Command tests => 27;
use Test::More; use Test::More;
# -R random bytes # -R random bytes
@ -84,6 +84,14 @@ $cmd->stdout_is_eq("127.0.0.1 is alive\n");
$cmd->stderr_is_eq(""); $cmd->stderr_is_eq("");
} }
# fping -S (wrong source address)
{
my $cmd = Test::Command->new(cmd => "fping -S 192.0.2.47 127.0.0.1");
$cmd->exit_is_num(4);
$cmd->stdout_is_eq("");
$cmd->stderr_like(qr{fping: cannot bind source address : .+\n});
}
# fping -S # fping -S
SKIP: { SKIP: {
if($ENV{SKIP_IPV6}) { if($ENV{SKIP_IPV6}) {
@ -95,6 +103,17 @@ SKIP: {
$cmd->stderr_is_eq(""); $cmd->stderr_is_eq("");
} }
# fping -S (wrong IPv6 source address)
SKIP: {
if($ENV{SKIP_IPV6}) {
skip 'Skip IPv6 tests', 3;
}
my $cmd = Test::Command->new(cmd => "fping -S 2001:db8::1 ::1");
$cmd->exit_is_num(4);
$cmd->stdout_is_eq("");
$cmd->stderr_like(qr{fping: cannot bind source address : .+\n});
}
# fping -S # fping -S
{ {
my $cmd = Test::Command->new(cmd => "fping -S bla"); my $cmd = Test::Command->new(cmd => "fping -S bla");

Loading…
Cancel
Save