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.
#!/usr/bin/perl -w
-use Test::Command tests => 21;
+use Test::Command tests => 27;
use Test::More;
# -R random bytes
$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
SKIP: {
if($ENV{SKIP_IPV6}) {
$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
{
my $cmd = Test::Command->new(cmd => "fping -S bla");