Don't use PCRE if we have GRegex.
[obnox/wireshark/wip.git] / test / suite-capture.sh
index 78ccc022c66ac5e5db557bda443b0ac99f3d0a80..4033cb879cac27663a4e099e8d32e961152bb90a 100755 (executable)
@@ -43,11 +43,21 @@ capture_test_output_print() {
 traffic_gen_ping() {
        # Generate some traffic for quiet networks.
        # This will have to be adjusted for non-Windows systems.
+       
+       # the following will run in the background and return immediately
        {
-       date 
-       for (( x=20; x<=50; x++ ))
+       date
+       for (( x=28; x<=58; x++ )) # in effect: number the packets
        do
-               ping -n 1 -l $x www.wireshark.org # in effect: number the packets
+               # How does ping _not_ have a standard set of arguments?
+               case $WS_SYSTEM in
+                       Windows)
+                               ping -n 1 -l $x www.wireshark.org       ;;
+                       SunOS)
+                               /usr/sbin/ping www.wireshark.org $x 1           ;;
+                       *) # *BSD, Linux
+                               ping -c 1 -s $x www.wireshark.org       ;;
+               esac
                sleep 1
        done
        date
@@ -61,7 +71,7 @@ ping_cleanup() {
 
 # capture exactly 10 packets
 capture_step_10packets() {
-       if [ "$WS_SYSTEM" != "Windows" ] ; then
+       if [ $SKIP_CAPTURE -ne 0 ] ; then
                test_step_skipped
                return
        fi
@@ -96,7 +106,7 @@ capture_step_10packets() {
 
        # ok, we got a capture file, does it contain exactly 10 packets?
        $CAPINFOS ./testout.pcap > ./testout2.txt
-       grep -i 'Number of packets: 10' ./testout2.txt > /dev/null
+       grep -Ei 'Number of packets:[[:blank:]]+10' ./testout2.txt > /dev/null
        if [ $? -eq 0 ]; then
                test_step_ok
        else
@@ -112,7 +122,7 @@ capture_step_10packets() {
 
 # capture exactly 10 packets using "-w -" (piping to stdout)
 capture_step_10packets_stdout() {
-        if [ "$WS_SYSTEM" != "Windows" ] ; then
+        if [ $SKIP_CAPTURE -ne 0 ] ; then
                 test_step_skipped
                 return
         fi
@@ -144,7 +154,7 @@ capture_step_10packets_stdout() {
 
        # ok, we got a capture file, does it contain exactly 10 packets?
        $CAPINFOS ./testout.pcap > ./testout2.txt 2>&1
-       grep -i 'Number of packets: 10' ./testout2.txt > /dev/null
+       grep -Ei 'Number of packets:[[:blank:]]+10' ./testout2.txt > /dev/null
        if [ $? -eq 0 ]; then
                test_step_ok
        else
@@ -179,7 +189,7 @@ capture_step_fifo() {
 
        # ok, we got a capture file, does it contain exactly 8 packets?
        $CAPINFOS ./testout.pcap > ./testout.txt
-       grep -i 'Number of packets: 8' ./testout.txt > /dev/null
+       grep -Ei 'Number of packets:[[:blank:]]+8' ./testout.txt > /dev/null
        if [ $? -eq 0 ]; then
                test_step_ok
        else
@@ -191,7 +201,7 @@ capture_step_fifo() {
 
 # capture exactly 2 times 10 packets (multiple files)
 capture_step_2multi_10packets() {
-        if [ "$WS_SYSTEM" != "Windows" ] ; then
+        if [ $SKIP_CAPTURE -ne 0 ] ; then
                 test_step_skipped
                 return
         fi
@@ -226,7 +236,7 @@ capture_step_2multi_10packets() {
 
        # ok, we got a capture file, does it contain exactly 10 packets?
        $CAPINFOS ./testout.pcap > ./testout.txt
-       grep -i 'Number of packets: 10' ./testout.txt > /dev/null
+       grep -Ei 'Number of packets:[[:blank:]]+10' ./testout.txt > /dev/null
        if [ $? -eq 0 ]; then
                test_step_ok
        else
@@ -238,7 +248,7 @@ capture_step_2multi_10packets() {
 
 # capture with a very unlikely read filter, packets must be zero afterwards
 capture_step_read_filter() {
-        if [ "$WS_SYSTEM" != "Windows" ] ; then
+        if [ $SKIP_CAPTURE -ne 0 ] ; then
                 test_step_skipped
                 return
         fi
@@ -274,7 +284,7 @@ capture_step_read_filter() {
 
        # ok, we got a capture file, does it contain exactly 0 packets?
        $CAPINFOS ./testout.pcap > ./testout.txt
-       grep -i 'Number of packets: 0' ./testout.txt > /dev/null
+       grep -Ei 'Number of packets:[[:blank:]]+0' ./testout.txt > /dev/null
        if [ $? -eq 0 ]; then
                test_step_ok
        else
@@ -287,7 +297,7 @@ capture_step_read_filter() {
 
 # capture with a snapshot length
 capture_step_snapshot() {
-        if [ "$WS_SYSTEM" != "Windows" ] ; then
+        if [ $SKIP_CAPTURE -ne 0 ] ; then
                 test_step_skipped
                 return
         fi
@@ -326,7 +336,7 @@ capture_step_snapshot() {
 
        # ok, we got a capture file, does it contain exactly 0 packets?
        $CAPINFOS ./testout2.pcap > ./testout.txt
-       grep -i 'Number of packets: 0' ./testout.txt > /dev/null
+       grep -Ei 'Number of packets:[[:blank:]]+0' ./testout.txt > /dev/null
        if [ $? -eq 0 ]; then
                test_step_ok
        else
@@ -355,7 +365,8 @@ tshark_capture_suite() {
        if [ $TEST_FIFO ]; then
                test_step_add "Capture via fifo" capture_step_fifo
        fi
-       test_step_add "Capture read filter (${TRAFFIC_CAPTURE_DURATION}s)" capture_step_read_filter
+    # tshark now using dumpcap for capturing, read filters won't work by definition
+       #test_step_add "Capture read filter (${TRAFFIC_CAPTURE_DURATION}s)" capture_step_read_filter
        test_step_add "Capture snapshot length 68 bytes (${TRAFFIC_CAPTURE_DURATION}s)" capture_step_snapshot
 }