]> The Tcpdump Group git mirrors - tcpdump/blobdiff - tests/crypto.sh
change make check to work with POSIX shell
[tcpdump] / tests / crypto.sh
index b4277e4f7f645b717147eef11688b5dc85db22b8..fffcec2815644c07f75c1fa7eee2759496d055fe 100755 (executable)
@@ -1,42 +1,49 @@
 #!/bin/sh
 
+srcdir=${1-..}
+echo crypto.sh using ${srcdir} from $(pwd)
+
+testdir=${srcdir}/tests
+
 exitcode=0
-passed=`cat .passed`
-failed=`cat .failed`
+passedfile=tests/.passed
+failedfile=tests/.failed
+passed=`cat ${passedfile}`
+failed=`cat ${failedfile}`
 
 # Only attempt OpenSSL-specific tests when compiled with the library.
 
-if grep '^#define HAVE_LIBCRYPTO 1$' ../config.h >/dev/null
+if grep '^#define HAVE_LIBCRYPTO 1$' ${srcdir}/config.h >/dev/null
 then
-       if ./TESTonce esp1 02-sunrise-sunset-esp.pcap esp1.out '-E "[email protected] 3des-cbc-hmac96:0x4043434545464649494a4a4c4c4f4f515152525454575758"'
+       if ${testdir}/TESTonce esp1 ${testdir}/02-sunrise-sunset-esp.pcap ${testdir}/esp1.out '-E "[email protected] 3des-cbc-hmac96:0x4043434545464649494a4a4c4c4f4f515152525454575758"'
        then
                passed=`expr $passed + 1`
-               echo $passed >.passed
+               echo $passed >${passedfile}
        else
                failed=`expr $failed + 1`
-               echo $failed >.failed
+               echo $failed >${failedfile}
                exitcode=1
        fi
-       if ./TESTonce esp2 08-sunrise-sunset-esp2.pcap esp2.out '-E "[email protected] 3des-cbc-hmac96:0x43434545464649494a4a4c4c4f4f51515252545457575840,[email protected] 3des-cbc-hmac96:0x434545464649494a4a4c4c4f4f5151525254545757584043"'
+       if ${testdir}//TESTonce esp2 ${testdir}/08-sunrise-sunset-esp2.pcap ${testdir}/esp2.out '-E "[email protected] 3des-cbc-hmac96:0x43434545464649494a4a4c4c4f4f51515252545457575840,[email protected] 3des-cbc-hmac96:0x434545464649494a4a4c4c4f4f5151525254545757584043"'
        then
                passed=`expr $passed + 1`
-               echo $passed >.passed
+               echo $passed >${passedfile}
        else
                failed=`expr $failed + 1`
-               echo $failed >.failed
+               echo $failed >${failedfile}
                exitcode=1
        fi
-       if ./TESTonce esp3 02-sunrise-sunset-esp.pcap esp1.out '-E "3des-cbc-hmac96:0x4043434545464649494a4a4c4c4f4f515152525454575758"'
+       if ${testdir}/TESTonce esp3 ${testdir}/02-sunrise-sunset-esp.pcap ${testdir}/esp1.out '-E "3des-cbc-hmac96:0x4043434545464649494a4a4c4c4f4f515152525454575758"'
        then
                passed=`expr $passed + 1`
-               echo $passed >.passed
+               echo $passed >${passedfile}
        else
                failed=`expr $failed + 1`
-               echo $failed >.failed
+               echo $failed >${failedfile}
                exitcode=1
        fi
        # Reading the secret(s) from a file does not work with Capsicum.
-       if grep '^#define HAVE_CAPSICUM 1$' ../config.h >/dev/null
+       if grep '^#define HAVE_CAPSICUM 1$' ${srcdir}/config.h >/dev/null
        then
                FORMAT='    %-35s: TEST SKIPPED (compiled w/Capsicum)\n'
                printf "$FORMAT" esp4
@@ -45,68 +52,68 @@ then
                printf "$FORMAT" ikev2pI2
                printf "$FORMAT" isakmp4
        else
-               if ./TESTonce esp4 08-sunrise-sunset-esp2.pcap esp2.out '-E "file esp-secrets.txt"'
+               if ${testdir}/TESTonce esp4 ${testdir}/08-sunrise-sunset-esp2.pcap ${testdir}/esp2.out '-E "file ${testdir}/esp-secrets.txt"'
                then
                        passed=`expr $passed + 1`
-                       echo $passed >.passed
+                       echo $passed >${passedfile}
                else
                        failed=`expr $failed + 1`
-                       echo $failed >.failed
+                       echo $failed >${failedfile}
                        exitcode=1
                fi
-               if ./TESTonce esp5 08-sunrise-sunset-aes.pcap esp5.out '-E "file esp-secrets.txt"'
+               if ${testdir}/TESTonce esp5 ${testdir}/08-sunrise-sunset-aes.pcap ${testdir}/esp5.out '-E "file ${testdir}/esp-secrets.txt"'
                then
                        passed=`expr $passed + 1`
-                       echo $passed >.passed
+                       echo $passed >${passedfile}
                else
                        failed=`expr $failed + 1`
-                       echo $failed >.failed
+                       echo $failed >${failedfile}
                        exitcode=1
                fi
-               if ./TESTonce espudp1 espudp1.pcap espudp1.out '-nnnn -E "file esp-secrets.txt"'
+               if ${testdir}/TESTonce espudp1 ${testdir}/espudp1.pcap ${testdir}/espudp1.out '-nnnn -E "file ${testdir}/esp-secrets.txt"'
                then
                        passed=`expr $passed + 1`
-                       echo $passed >.passed
+                       echo $passed >${passedfile}
                else
                        failed=`expr $failed + 1`
-                       echo $failed >.failed
+                       echo $failed >${failedfile}
                        exitcode=1
                fi
-               if ./TESTonce ikev2pI2 ikev2pI2.pcap ikev2pI2.out '-E "file ikev2pI2-secrets.txt" -v -v -v -v'
+               if ${testdir}/TESTonce ikev2pI2 ${testdir}/ikev2pI2.pcap ${testdir}/ikev2pI2.out '-E "file ${testdir}/ikev2pI2-secrets.txt" -v -v -v -v'
                then
                        passed=`expr $passed + 1`
-                       echo $passed >.passed
+                       echo $passed >${passedfile}
                else
                        failed=`expr $failed + 1`
-                       echo $failed >.failed
+                       echo $failed >${failedfile}
                        exitcode=1
                fi
-               if ./TESTonce isakmp4 isakmp4500.pcap isakmp4.out '-E "file esp-secrets.txt"'
+               if ${testdir}/TESTonce isakmp4 ${testdir}/isakmp4500.pcap ${testdir}/isakmp4.out '-E "file ${testdir}/esp-secrets.txt"'
                then
                        passed=`expr $passed + 1`
-                       echo $passed >.passed
+                       echo $passed >${passedfile}
                else
                        failed=`expr $failed + 1`
-                       echo $failed >.failed
+                       echo $failed >${failedfile}
                        exitcode=1
                fi
        fi
-       if ./TESTonce bgp-as-path-oobr-ssl bgp-as-path-oobr.pcap bgp-as-path-oobr-ssl.out '-vvv -e'
+       if ${testdir}/TESTonce bgp-as-path-oobr-ssl ${testdir}/bgp-as-path-oobr.pcap ${testdir}/bgp-as-path-oobr-ssl.out '-vvv -e'
        then
                passed=`expr $passed + 1`
-               echo $passed >.passed
+               echo $passed >${passedfile}
        else
                failed=`expr $failed + 1`
-               echo $failed >.failed
+               echo $failed >${failedfile}
                exitcode=1
        fi
-       if ./TESTonce bgp-aigp-oobr-ssl bgp-aigp-oobr.pcap bgp-aigp-oobr-ssl.out '-vvv -e'
+       if ${testdir}/TESTonce bgp-aigp-oobr-ssl ${testdir}/bgp-aigp-oobr.pcap ${testdir}/bgp-aigp-oobr-ssl.out '-vvv -e'
        then
                passed=`expr $passed + 1`
-               echo $passed >.passed
+               echo $passed >${passedfile}
        else
                failed=`expr $failed + 1`
-               echo $failed >.failed
+               echo $failed >${failedfile}
                exitcode=1
        fi
        FORMAT='    %-35s: TEST SKIPPED (compiled w/OpenSSL)\n'
@@ -124,22 +131,22 @@ else
        printf "$FORMAT" isakmp4
        printf "$FORMAT" bgp-as-path-oobr-ssl
        printf "$FORMAT" bgp-aigp-oobr-ssl
-       if ./TESTonce bgp-as-path-oobr-nossl bgp-as-path-oobr.pcap bgp-as-path-oobr-nossl.out '-vvv -e'
+       if ${testdir}/TESTonce bgp-as-path-oobr-nossl ${testdir}/bgp-as-path-oobr.pcap ${testdir}/bgp-as-path-oobr-nossl.out '-vvv -e'
        then
                passed=`expr $passed + 1`
-               echo $passed >.passed
+               echo $passed >${passedfile}
        else
                failed=`expr $failed + 1`
-               echo $failed >.failed
+               echo $failed >${failedfile}
                exitcode=1
        fi
-       if ./TESTonce bgp-aigp-oobr-nossl bgp-aigp-oobr.pcap bgp-aigp-oobr-nossl.out '-vvv -e'
+       if ${testdir}/TESTonce bgp-aigp-oobr-nossl ${testdir}/bgp-aigp-oobr.pcap ${testdir}/bgp-aigp-oobr-nossl.out '-vvv -e'
        then
                passed=`expr $passed + 1`
-               echo $passed >.passed
+               echo $passed >${passedfile}
        else
                failed=`expr $failed + 1`
-               echo $failed >.failed
+               echo $failed >${failedfile}
                exitcode=1
        fi
 fi