]> The Tcpdump Group git mirrors - tcpdump/commitdiff
Fix a bug in test scripts (exposed in GH #613).
authorDenis Ovsienko <[email protected]>
Thu, 13 Jul 2017 20:07:13 +0000 (21:07 +0100)
committerDenis Ovsienko <[email protected]>
Fri, 21 Jul 2017 13:32:46 +0000 (14:32 +0100)
crypto.sh ran its tests as expected but only indicated a failure
upstream when the last test failed. Add necessary checks and modify
the other "complex" tests in a similar manner to make sure the same
bug does not creep into these scripts later. Fix some indentation
while at it.

tests/crypto.sh
tests/isis-seg-fault-1-v.sh
tests/lmp-v.sh
tests/nflog-e.sh

index 3aa29caa5babf843841ea69788ce1e95fb3f9402..5e295957cb502ee70b8fb8ac3afa5c8214824115 100755 (executable)
@@ -1,12 +1,17 @@
 #!/bin/sh
 
+exitcode=0
+
 # Only attempt OpenSSL-specific tests when compiled with the library.
 
 if grep '^#define HAVE_LIBCRYPTO 1$' ../config.h >/dev/null
 then
        ./TESTonce esp1 02-sunrise-sunset-esp.pcap esp1.out '-E "[email protected] 3des-cbc-hmac96:0x4043434545464649494a4a4c4c4f4f515152525454575758"'
+       [ $? -eq 0 ] || exitcode=1
        ./TESTonce esp2 08-sunrise-sunset-esp2.pcap esp2.out '-E "[email protected] 3des-cbc-hmac96:0x43434545464649494a4a4c4c4f4f51515252545457575840,[email protected] 3des-cbc-hmac96:0x434545464649494a4a4c4c4f4f5151525254545757584043"'
+       [ $? -eq 0 ] || exitcode=1
        ./TESTonce esp3 02-sunrise-sunset-esp.pcap esp1.out '-E "3des-cbc-hmac96:0x4043434545464649494a4a4c4c4f4f515152525454575758"'
+       [ $? -eq 0 ] || exitcode=1
        # Reading the secret(s) from a file does not work with Capsicum.
        if grep '^#define HAVE_CAPSICUM 1$' ../config.h >/dev/null
        then
@@ -18,10 +23,15 @@ then
                printf "$FORMAT" isakmp4
        else
                ./TESTonce esp4 08-sunrise-sunset-esp2.pcap esp2.out '-E "file esp-secrets.txt"'
+               [ $? -eq 0 ] || exitcode=1
                ./TESTonce esp5 08-sunrise-sunset-aes.pcap esp5.out '-E "file esp-secrets.txt"'
+               [ $? -eq 0 ] || exitcode=1
                ./TESTonce espudp1 espudp1.pcap espudp1.out '-nnnn -E "file esp-secrets.txt"'
+               [ $? -eq 0 ] || exitcode=1
                ./TESTonce ikev2pI2 ikev2pI2.pcap ikev2pI2.out '-E "file ikev2pI2-secrets.txt" -v -v -v -v'
+               [ $? -eq 0 ] || exitcode=1
                ./TESTonce isakmp4 isakmp4500.pcap isakmp4.out '-E "file esp-secrets.txt"'
+               [ $? -eq 0 ] || exitcode=1
        fi
 else
        FORMAT='    %-35s: TEST SKIPPED (compiled w/o OpenSSL)\n'
@@ -34,3 +44,5 @@ else
        printf "$FORMAT" ikev2pI2
        printf "$FORMAT" isakmp4
 fi
+
+exit $exitcode
index fc7bddd4a70912969b4faf44d25f1eccc9c86ced..57965e8e87520dcaa18e7a3a52044442c15f5eed 100755 (executable)
@@ -4,6 +4,7 @@
 # may produce a slightly different result if the compiler is not GCC.
 # Test only with GCC (similar to GitHub issue #333).
 
+exitcode=0
 test_name=isis-seg-fault-1-v
 
 if [ ! -f ../Makefile ]
@@ -11,7 +12,10 @@ then
        printf '    %-35s: TEST SKIPPED (no Makefile)\n' $test_name
 elif grep '^CC = .*gcc' ../Makefile >/dev/null
 then
-  ./TESTonce $test_name isis-seg-fault-1.pcap isis-seg-fault-1-v.out '-v'
+       ./TESTonce $test_name isis-seg-fault-1.pcap isis-seg-fault-1-v.out '-v'
+       [ $? -eq 0 ] || exitcode=1
 else
        printf '    %-35s: TEST SKIPPED (compiler is not GCC)\n' $test_name
 fi
+
+exit $exitcode
index d26760d04d2163bcc25ced1b29b77a29d84099b5..2d0188642910c617f912069622cbb46a19327227 100755 (executable)
@@ -6,6 +6,8 @@
 # GCC build and must reproduce correctly on any other GCC build regardless of
 # the architecture.
 
+exitcode=0
+
 # A Windows build may have no file named Makefile and also a version of grep
 # that won't return an error when the file does not exist. Work around.
 if [ ! -f ../Makefile ]
@@ -13,7 +15,10 @@ then
        printf '    %-35s: TEST SKIPPED (no Makefile)\n' 'lmp-v'
 elif grep '^CC = .*gcc' ../Makefile >/dev/null
 then
-  ./TESTonce lmp-v lmp.pcap lmp-v.out '-T lmp -v'
+       ./TESTonce lmp-v lmp.pcap lmp-v.out '-T lmp -v'
+       [ $? -eq 0 ] || exitcode=1
 else
        printf '    %-35s: TEST SKIPPED (compiler is not GCC)\n' 'lmp-v'
 fi
+
+exit $exitcode
index a8a67f0051755129fd6373c5bce3ab3cfe8d8b2e..5b002bf1484bed624a9fd7821e99704c2d7db5d0 100755 (executable)
@@ -1,10 +1,15 @@
 #!/bin/sh
 
+exitcode=0
+
 # NFLOG support depends on both DLT_NFLOG and working <pcap/nflog.h>
 
 if grep '^#define HAVE_PCAP_NFLOG_H 1$' ../config.h >/dev/null
 then
-  ./TESTonce nflog-e nflog.pcap nflog-e.out '-e'
+       ./TESTonce nflog-e nflog.pcap nflog-e.out '-e'
+       [ $? -eq 0 ] || exitcode=1
 else
        printf '    %-35s: TEST SKIPPED (compiled w/o NFLOG)\n' 'nflog-e'
 fi
+
+exit $exitcode