]> git.gsnw.org Git - fping.git/commitdiff
Fix -M expecting an argument, when it shouldn't
authorDavid Schweikert <david@schweikert.ch>
Fri, 20 Jan 2017 21:59:55 +0000 (22:59 +0100)
committerDavid Schweikert <david@schweikert.ch>
Fri, 3 Feb 2017 08:56:40 +0000 (09:56 +0100)
ChangeLog
ci/test-07-options-i-m.pl
ci/test-14-ping-internet-hosts.pl
src/fping.c

index 655f3427d3c0d2b60c0d470b6a5b1f819aa87364..6c0326c7853d4974b404daaed3d68b493f1ab0fe 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,7 @@ Unreleased
   * (bugfix) Fix option -m to return all IPs of a hostname
   * (bugfix) Fix compatibility issue with AIX (#69, @blentzgh)
   * (bugfix) Fix -q not suppressing some ICMP error messages (#83)
+  * (bugfix) Fix -M expecting an argument, when it shouldn't
 
 2017-01-11  David Schweikert  <david@schweikert.ch>
   * Version 3.15
index e4529d9e7eb30b9b4b550d159039d7955cdeeb44..9a22d134daae35167f10133f9eac628bd654995c 100755 (executable)
@@ -1,10 +1,11 @@
 #!/usr/bin/perl -w
 
-use Test::Command tests => 4;
+use Test::Command tests => 7;
 
 #  -i n       interval between sending ping packets (in millisec) (default 25)
 #  -l         loop sending pings forever
 #  -m         ping multiple interfaces on target host
+#  -M         don't fragment
 
 # fping -i n
 {
@@ -22,4 +23,12 @@ $cmd->stdout_like(qr{127\.0\.0\.1 : \[0\], 84 bytes, 0\.\d+ ms \(0.\d+ avg, 0% l
 });
 }
 
+# fping -M
+{
+my $cmd = Test::Command->new(cmd => "fping -M 127.0.0.1");
+$cmd->exit_is_num(0);
+$cmd->stdout_is_eq("127.0.0.1 is alive\n");
+$cmd->stderr_is_eq("");
+}
+
 # fping -m -> test-14-internet-hosts
index 4677bf356d21ee2b8019eb858ac04f05c625b541..12dfe5f0ce41421ee011b04786a16f761ee9b3b2 100755 (executable)
@@ -9,7 +9,7 @@ if(!gethostbyname("www.google.com")) {
     exit 0;
 }
 
-plan tests => 18;
+plan tests => 21;
 
 my $re_num = qr{\d+(?:\.\d+)?};
 
@@ -70,3 +70,11 @@ $cmd->exit_is_num(0);
 $cmd->stdout_is_eq("google-public-dns-a.google.com is alive\n");
 $cmd->stderr_is_eq("");
 }
+
+# fping -M
+{
+my $cmd = Test::Command->new(cmd => "fping -r 0 -b 10000 -M 8.8.8.8");
+$cmd->exit_is_num(1);
+$cmd->stdout_is_eq("8.8.8.8 is unreachable\n");
+$cmd->stderr_is_eq("8.8.8.8: error while sending ping: Message too long\n");
+}
index 88a10b77ab2f13befec139a2597d32b9b0e59035..071324195d2fc41d27306b24a85ca43ff72ddeea 100644 (file)
@@ -385,7 +385,7 @@ int main( int argc, char **argv )
 
     /* get command line options */
 
-    while( ( c = getopt( argc, argv, "gedhlmnNqusaAvDRz:t:H:i:p:f:r:c:b:C:Q:B:S:I:T:O:M:o" ) ) != EOF )
+    while( ( c = getopt( argc, argv, "ADMNRadeghlmnoqsuvzB:C:H:I:O:Q:S:T:b:c:f:i:p:r:t:" ) ) != EOF )
     {
         switch( c )
         {