diff --git a/bin/dig/nslookup.c b/bin/dig/nslookup.c index 95c0767365..d5ce6f7900 100644 --- a/bin/dig/nslookup.c +++ b/bin/dig/nslookup.c @@ -621,8 +621,6 @@ static void setoption(char *opt) { size_t l = strlen(opt); - debugging = true; - #define CHECKOPT(A, N) \ ((l >= N) && (l < sizeof(A)) && (strncasecmp(opt, A, l) == 0)) diff --git a/bin/tests/system/nslookup/clean.sh b/bin/tests/system/nslookup/clean.sh index 5aad8dda5a..5c2b4a9bb8 100644 --- a/bin/tests/system/nslookup/clean.sh +++ b/bin/tests/system/nslookup/clean.sh @@ -11,6 +11,7 @@ rm -f ns1/example.db rm -f nslookup.out* +rm -f nslookup.err* rm -f ns*/named.lock rm -f ns*/named.memstats rm -f ns*/named.run diff --git a/bin/tests/system/nslookup/tests.sh b/bin/tests/system/nslookup/tests.sh index 856dcc7d43..e3dd0f5264 100644 --- a/bin/tests/system/nslookup/tests.sh +++ b/bin/tests/system/nslookup/tests.sh @@ -11,101 +11,116 @@ # See the COPYRIGHT file distributed with this work for additional # information regarding copyright ownership. +# shellcheck disable=SC2086 . ../conf.sh status=0 n=0 -n=`expr $n + 1` +n=$((n+1)) echo_i "Check that domain names that are too big when applying a search list entry are handled cleanly ($n)" ret=0 l=012345678901234567890123456789012345678901234567890123456789012 t=0123456789012345678901234567890123456789012345678901234567890 d=$l.$l.$l.$t -$NSLOOKUP -port=${PORT} -domain=$d -type=soa example 10.53.0.1 > nslookup.out${n} || ret=1 +$NSLOOKUP -port=${PORT} -domain=$d -type=soa example 10.53.0.1 2> nslookup.err${n} > nslookup.out${n} || ret=1 +lines=$(wc -l < nslookup.err${n}) +test $lines -eq 0 || ret=1 grep "origin = ns1.example" nslookup.out${n} > /dev/null || ret=1 if [ $ret != 0 ]; then echo_i "failed"; fi -status=`expr $status + $ret` +status=$((status+ret)) -n=`expr $n + 1` -echo_i "Check A only lookup" +n=$((n+1)) +echo_i "Check A only lookup ($n)" ret=0 -$NSLOOKUP -port=${PORT} a-only.example.net 10.53.0.1 > nslookup.out${n} || ret=1 -lines=`grep "Server:" nslookup.out${n} | wc -l` -test $lines = 1 || ret=1 -lines=`grep a-only.example.net nslookup.out${n} | wc -l` -test $lines = 1 || ret=1 +$NSLOOKUP -port=${PORT} a-only.example.net 10.53.0.1 2> nslookup.err${n} > nslookup.out${n} || ret=1 +lines=$(wc -l < nslookup.err${n}) +test $lines -eq 0 || ret=1 +lines=$(grep -c "Server:" nslookup.out${n}) +test $lines -eq 1 || ret=1 +lines=$(grep -c a-only.example.net nslookup.out${n}) +test $lines -eq 1 || ret=1 grep "1.2.3.4" nslookup.out${n} > /dev/null || ret=1 if [ $ret != 0 ]; then echo_i "failed"; fi -status=`expr $status + $ret` +status=$((status+ret)) -n=`expr $n + 1` -echo_i "Check AAAA only lookup" +n=$((n+1)) +echo_i "Check AAAA only lookup ($n)" ret=0 -$NSLOOKUP -port=${PORT} aaaa-only.example.net 10.53.0.1 > nslookup.out${n} || ret=1 -lines=`grep "Server:" nslookup.out${n} | wc -l` -test $lines = 1 || ret=1 -lines=`grep aaaa-only.example.net nslookup.out${n} | wc -l` -test $lines = 1 || ret=1 +$NSLOOKUP -port=${PORT} aaaa-only.example.net 10.53.0.1 2> nslookup.err${n} > nslookup.out${n} || ret=1 +lines=$(wc -l < nslookup.err${n}) +test $lines -eq 0 || ret=1 +lines=$(grep -c "Server:" nslookup.out${n}) +test $lines -eq 1 || ret=1 +lines=$(grep -c aaaa-only.example.net nslookup.out${n}) +test $lines -eq 1 || ret=1 grep "2001::ffff" nslookup.out${n} > /dev/null || ret=1 if [ $ret != 0 ]; then echo_i "failed"; fi -status=`expr $status + $ret` +status=$((status+ret)) -n=`expr $n + 1` -echo_i "Check dual A + AAAA lookup" +n=$((n+1)) +echo_i "Check dual A + AAAA lookup ($n)" ret=0 -$NSLOOKUP -port=${PORT} dual.example.net 10.53.0.1 > nslookup.out${n} || ret=1 -lines=`grep "Server:" nslookup.out${n} | wc -l` -test $lines = 1 || ret=1 -lines=`grep dual.example.net nslookup.out${n} | wc -l` -test $lines = 2 || ret=1 +$NSLOOKUP -port=${PORT} dual.example.net 10.53.0.1 2> nslookup.err${n} > nslookup.out${n} || ret=1 +lines=$(wc -l < nslookup.err${n}) +test $lines -eq 0 || ret=1 +lines=$(grep -c "Server:" nslookup.out${n}) +test $lines -eq 1 || ret=1 +lines=$(grep -c dual.example.net nslookup.out${n}) +test $lines -eq 2 || ret=1 grep "1.2.3.4" nslookup.out${n} > /dev/null || ret=1 grep "2001::ffff" nslookup.out${n} > /dev/null || ret=1 if [ $ret != 0 ]; then echo_i "failed"; fi -status=`expr $status + $ret` +status=$((status+ret)) -n=`expr $n + 1` -echo_i "Check CNAME to A only lookup" +n=$((n+1)) +echo_i "Check CNAME to A only lookup ($n)" ret=0 -$NSLOOKUP -port=${PORT} cname-a-only.example.net 10.53.0.1 > nslookup.out${n} || ret=1 -lines=`grep "Server:" nslookup.out${n} | wc -l` -test $lines = 1 || ret=1 -lines=`grep "canonical name" nslookup.out${n} | wc -l` -test $lines = 1 || ret=1 -lines=`grep a-only.example.net nslookup.out${n} | grep -v "canonical name" | wc -l` -test $lines = 1 || ret=1 +$NSLOOKUP -port=${PORT} cname-a-only.example.net 10.53.0.1 2> nslookup.err${n} > nslookup.out${n} || ret=1 +lines=$(wc -l < nslookup.err${n}) +test $lines -eq 0 || ret=1 +lines=$(grep -c "Server:" nslookup.out${n}) +test $lines -eq 1 || ret=1 +lines=$(grep -c "canonical name" nslookup.out${n}) +test $lines -eq 1 || ret=1 +lines=$(grep a-only.example.net nslookup.out${n} | grep -cv "canonical name") +test $lines -eq 1 || ret=1 grep "1.2.3.4" nslookup.out${n} > /dev/null || ret=1 if [ $ret != 0 ]; then echo_i "failed"; fi -status=`expr $status + $ret` +status=$((status+ret)) -n=`expr $n + 1` -echo_i "Check CNAME to AAAA only lookup" +n=$((n+1)) +echo_i "Check CNAME to AAAA only lookup ($n)" ret=0 -$NSLOOKUP -port=${PORT} cname-aaaa-only.example.net 10.53.0.1 > nslookup.out${n} || ret=1 -lines=`grep "Server:" nslookup.out${n} | wc -l` -test $lines = 1 || ret=1 -lines=`grep "canonical name" nslookup.out${n} | wc -l` -test $lines = 1 || ret=1 -lines=`grep aaaa-only.example.net nslookup.out${n} | grep -v "canonical name" |wc -l` -test $lines = 1 || ret=1 +$NSLOOKUP -port=${PORT} cname-aaaa-only.example.net 10.53.0.1 2> nslookup.err${n} > nslookup.out${n} || ret=1 +lines=$(wc -l < nslookup.err${n}) +test $lines -eq 0 || ret=1 +lines=$(grep -c "Server:" nslookup.out${n}) +test $lines -eq 1 || ret=1 +lines=$(grep -c "canonical name" nslookup.out${n}) +test $lines -eq 1 || ret=1 +lines=$(grep aaaa-only.example.net nslookup.out${n} | grep -cv "canonical name") +test $lines -eq 1 || ret=1 grep "2001::ffff" nslookup.out${n} > /dev/null || ret=1 if [ $ret != 0 ]; then echo_i "failed"; fi -status=`expr $status + $ret` +status=$((status+ret)) -n=`expr $n + 1` -echo_i "Check CNAME to dual A + AAAA lookup" +n=$((n+1)) +echo_i "Check CNAME to dual A + AAAA lookup ($n)" ret=0 -$NSLOOKUP -port=${PORT} cname-dual.example.net 10.53.0.1 > nslookup.out${n} || ret=1 -lines=`grep "Server:" nslookup.out${n} | wc -l` -test $lines = 1 || ret=1 -lines=`grep "canonical name" nslookup.out${n} | wc -l` -test $lines = 1 || ret=1 -lines=`grep dual.example.net nslookup.out${n} | grep -v "canonical name" | wc -l` -test $lines = 2 || ret=1 +$NSLOOKUP -port=${PORT} cname-dual.example.net 10.53.0.1 2> nslookup.err${n} > nslookup.out${n} || ret=1 +lines=$(wc -l < nslookup.err${n}) +test $lines -eq 0 || ret=1 +lines=$(grep -c "Server:" nslookup.out${n}) +test $lines -eq 1 || ret=1 +lines=$(grep -c "canonical name" nslookup.out${n}) +test $lines -eq 1 || ret=1 +lines=$(grep dual.example.net nslookup.out${n} | grep -cv "canonical name") +test $lines -eq 2 || ret=1 grep "1.2.3.4" nslookup.out${n} > /dev/null || ret=1 grep "2001::ffff" nslookup.out${n} > /dev/null || ret=1 if [ $ret != 0 ]; then echo_i "failed"; fi -status=`expr $status + $ret` +status=$((status+ret)) echo_i "exit status: $status" [ $status -eq 0 ] || exit 1