]> 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, 20 Jan 2017 21:59:55 +0000 (22:59 +0100)
ChangeLog
ci/test-07-options-i-m.pl
ci/test-14-ping-internet-hosts.pl
src/fping.c

index 7f9267a4c3749aec2cdf326940dfd02c5727d419..a813938cf826411260784551d4c1b262ecf27e47 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,7 @@ Unreleased
   * (feature) Simplify restrictions: only -i >= 1 and -p >= 10 are enforced now
   * (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 3c7aadb07aceaa2a2c2eca4ee2fc528d8547f85d..5e36aa082747c792de8f37320a4640465df62ef7 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+)?};
 
@@ -67,3 +67,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 50991ddd56490376d38b1f3e57000d7d78d1b69f..6cde9d07d945edaa94ed6b2cca79986d801162a9 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 )
         {