]> git.gsnw.org Git - fping.git/commitdiff
test error when binding to wrong local address
authorErik Auerswald <auerswal@unix-ag.uni-kl.de>
Sun, 19 May 2024 15:54:37 +0000 (17:54 +0200)
committerDavid Schweikert <david@schweikert.ch>
Sun, 9 Jun 2024 07:07:20 +0000 (09:07 +0200)
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.

ci/test-09-option-r-t.pl

index b256f667cea6f8f24306d6e838bfdbf5ad74133f..5cede8d7a881d381ce7632ab6b65763d54c39a89 100755 (executable)
@@ -1,6 +1,6 @@
 #!/usr/bin/perl -w
 
-use Test::Command tests => 21;
+use Test::Command tests => 27;
 use Test::More;
 
 #  -R         random bytes
@@ -84,6 +84,14 @@ $cmd->stdout_is_eq("127.0.0.1 is alive\n");
 $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}) {
@@ -95,6 +103,17 @@ SKIP: {
     $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");