]> git.gsnw.org Git - fping.git/commitdiff
some more tests
authorDavid Schweikert <david@schweikert.ch>
Wed, 5 Mar 2014 07:16:35 +0000 (08:16 +0100)
committerDavid Schweikert <david@schweikert.ch>
Wed, 5 Mar 2014 07:16:35 +0000 (08:16 +0100)
ci/test-1-basics.pl [moved from ci/test-1.pl with 60% similarity]
ci/test-2-help.pl [new file with mode: 0755]
src/fping.c

similarity index 60%
rename from ci/test-1.pl
rename to ci/test-1-basics.pl
index 0b88863e5009971ef546c68535bbaf3a00fad003..9500970e3472125eff3c8643e6caf23adb33e247 100755 (executable)
@@ -1,25 +1,21 @@
 #!/usr/bin/perl -w
 
 use Test::Command tests => 9;
-my $fping_bin  = '/opt/fping/sbin/fping';
-my $fping6_bin = '/opt/fping/sbin/fping6';
-#my $fping_bin  = '/home/dws/checkouts/fping/src/fping';
-#my $fping6_bin = '/home/dws/checkouts/fping/src/fping6';
 
 # ping 127.0.0.1
-my $cmd1 = Test::Command->new(cmd => "$fping_bin 127.0.0.1");
+my $cmd1 = Test::Command->new(cmd => "fping 127.0.0.1");
 $cmd1->exit_is_num(0);
 $cmd1->stdout_is_eq("127.0.0.1 is alive\n");
 $cmd1->stderr_is_eq("");
 
 # ping ::1
-my $cmd2 = Test::Command->new(cmd => "$fping6_bin ::1");
+my $cmd2 = Test::Command->new(cmd => "fping6 ::1");
 $cmd2->exit_is_num(0);
 $cmd2->stdout_is_eq("::1 is alive\n");
 $cmd2->stderr_is_eq("");
 
 # ping 3 times 127.0.0.1
-my $cmd3 = Test::Command->new(cmd => "$fping_bin -p 100 -C3 127.0.0.1");
+my $cmd3 = Test::Command->new(cmd => "fping -p 100 -C3 127.0.0.1");
 $cmd3->exit_is_num(0);
 $cmd3->stdout_like(qr{127\.0\.0\.1 : \[0\], 84 bytes, 0\.\d+ ms \(0\.\d+ avg, 0% loss\)
 127\.0\.0\.1 : \[1\], 84 bytes, 0\.\d+ ms \(0.\d+ avg, 0% loss\)
diff --git a/ci/test-2-help.pl b/ci/test-2-help.pl
new file mode 100755 (executable)
index 0000000..802988d
--- /dev/null
@@ -0,0 +1,58 @@
+#!/usr/bin/perl -w
+
+use Test::Command tests => 9;
+
+# fping -h
+my $cmd1 = Test::Command->new(cmd => "fping -h");
+$cmd1->exit_is_num(0);
+$cmd1->stdout_is_eq(<<END);
+
+Usage: fping [options] [targets...]
+   -a         show targets that are alive
+   -A         show targets by address
+   -b n       amount of ping data to send, in bytes (default 56)
+   -B f       set exponential backoff factor to f
+   -c n       count of pings to send to each target (default 1)
+   -C n       same as -c, report results in verbose format
+   -D         print timestamp before each output line
+   -e         show elapsed time on return packets
+   -f file    read list of targets from a file ( - means stdin) (only if no -g specified)
+   -g         generate target list (only if no -f specified)
+                (specify the start and end IP in the target list, or supply a IP netmask)
+                (ex. fping -g 192.168.1.0 192.168.1.255 or fping -g 192.168.1.0/24)
+   -H n       Set the IP TTL value (Time To Live hops)
+   -i n       interval between sending ping packets (in millisec) (default 25)
+   -l         loop sending pings forever
+   -m         ping multiple interfaces on target host
+   -n         show targets by name (-d is equivalent)
+   -p n       interval between ping packets to one target (in millisec)
+                (in looping and counting modes, default 1000)
+   -q         quiet (don't show per-target/per-ping results)
+   -Q n       same as -q, but show summary every n seconds
+   -r n       number of retries (default 3)
+   -s         print final stats
+   -I if      bind to a particular interface
+   -S addr    set source address
+   -t n       individual target initial timeout (in millisec) (default 500)
+   -T n       ignored (for compatibility with fping 2.4)
+   -u         show targets that are unreachable
+   -O n       set the type of service (tos) flag on the ICMP packets
+   -v         show version
+   targets    list of targets to check (if no -f specified)
+
+END
+$cmd1->stderr_is_eq("");
+
+# fping -v
+my $cmd2 = Test::Command->new(cmd => "fping -v");
+$cmd2->exit_is_num(0);
+$cmd2->stdout_like(qr{fping: Version \S+
+fping: comments to david\@schweikert\.ch\n});
+$cmd2->stderr_is_eq("");
+
+# fping with unknown option
+my $cmd3 = Test::Command->new(cmd => "fping -Z");
+$cmd3->exit_is_num(1);
+$cmd3->stdout_is_eq("");
+$cmd3->stderr_is_eq("fping: invalid option -- 'Z'
+see 'fping -h' for usage information\n");
index af7608fa68a6265db11f7473d267aeec375b2f42..8ead0871896ff84378a0fb4cce1011dfd9895f31 100644 (file)
@@ -570,7 +570,8 @@ int main( int argc, char **argv )
             }
             break;
         default:
-            usage(1);
+            fprintf(stderr, "see 'fping -h' for usage information\n");
+            exit(1);
             break;
 
         }/* SWITCH */
@@ -579,7 +580,7 @@ int main( int argc, char **argv )
     /* validate various option settings */
 
     if (ttl > 255) {
-        fprintf(stderr, "ping: ttl %u out of range\n", ttl);  
+        fprintf(stderr, "ttl %u out of range\n", ttl);  
         usage(1);
     }