]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Fix the ecdsa system test to allow parallel run
authorOndřej Surý <ondrej@isc.org>
Wed, 18 Mar 2020 14:24:15 +0000 (15:24 +0100)
committerOndřej Surý <ondrej@isc.org>
Thu, 19 Mar 2020 16:31:31 +0000 (17:31 +0100)
The ecdsa test was not adapted to dynamic ports, so we had to run it in
sequence.  This commit adds support for dynamic ports, and also makes
all the scripts shellcheck clean.

bin/tests/system/conf.sh.common
bin/tests/system/ecdsa/.gitignore [new file with mode: 0644]
bin/tests/system/ecdsa/clean.sh
bin/tests/system/ecdsa/ns1/named.conf.in [moved from bin/tests/system/ecdsa/ns1/named.conf with 98% similarity]
bin/tests/system/ecdsa/ns1/sign.sh
bin/tests/system/ecdsa/ns2/named.conf.in [moved from bin/tests/system/ecdsa/ns2/named.conf with 98% similarity]
bin/tests/system/ecdsa/setup.sh
bin/tests/system/ecdsa/tests.sh

index 5d541dddaa9deb7e050caa1d169fdc71c27c7943..4805ce71e0901132e01376e1a54dc4a2f4dec739 100644 (file)
@@ -37,7 +37,7 @@ export LANG=C
 # SEQUENTIAL_UNIX in conf.sh.in; those that only run on windows should
 # be added to SEQUENTIAL_WINDOWS in conf.sh.win32.
 #
-SEQUENTIAL_COMMON="ecdsa eddsa tkey"
+SEQUENTIAL_COMMON="eddsa tkey"
 
 #
 # These tests can use ports assigned by the caller (other than 5300
@@ -58,7 +58,7 @@ PARALLEL_COMMON="dnssec rpzrecurse serve-stale \
        checkconf checknames checkzone \
        cookie database digdelv dlz dlzexternal \
        dns64 dscp dsdigest dyndb \
-       ednscompliance emptyzones \
+       ecdsa ednscompliance emptyzones \
        fetchlimit filter-aaaa formerr forward \
        geoip2 glue idna include-multiplecfg \
        inline integrity ixfr \
diff --git a/bin/tests/system/ecdsa/.gitignore b/bin/tests/system/ecdsa/.gitignore
new file mode 100644 (file)
index 0000000..e096e33
--- /dev/null
@@ -0,0 +1,2 @@
+/ns1/named.conf
+/ns2/named.conf
index 6cfeec24663af82138f3263567037b09901fb4fd..f230cb01bfe78ab2a7b84c8583de8ba7f7caf696 100644 (file)
@@ -9,11 +9,17 @@
 # See the COPYRIGHT file distributed with this work for additional
 # information regarding copyright ownership.
 
-rm -f */K* */dsset-* */*.signed */trusted.conf
-rm -f ns1/root.db
-rm -f ns1/signer.err
-rm -f dig.out*
-rm -f */named.run
-rm -f */named.memstats
-rm -f ns*/named.lock
+set -e
+
+rm -f ./dig.out*
+rm -f ns*/*.signed
+rm -f ns*/K*
+rm -f ns*/dsset-*
 rm -f ns*/managed-keys.bind*
+rm -f ns*/named.conf
+rm -f ns*/named.lock
+rm -f ns*/named.memstats
+rm -f ns*/named.run
+rm -f ns*/root.db
+rm -f ns*/signer.err
+rm -f ns*/trusted.conf
similarity index 98%
rename from bin/tests/system/ecdsa/ns1/named.conf
rename to bin/tests/system/ecdsa/ns1/named.conf.in
index 50eb0484085b81f8edbb10fd2cb2a77f081d01b2..88a254793575ff4b7d7cf6b2c73f382075fd8229 100644 (file)
@@ -17,7 +17,7 @@ options {
        query-source address 10.53.0.1;
        notify-source 10.53.0.1;
        transfer-source 10.53.0.1;
-       port 5300;
+       port @PORT@;
        pid-file "named.pid";
        listen-on { 10.53.0.1; };
        listen-on-v6 { none; };
index 673aac8ac09abd1bcc9d3ac9f184eb31cc5cb909..9fc7ddb93f8a8edbef324b1ab46a22da31c28b26 100644 (file)
@@ -9,21 +9,22 @@
 # See the COPYRIGHT file distributed with this work for additional
 # information regarding copyright ownership.
 
-SYSTEMTESTTOP=../..
-. $SYSTEMTESTTOP/conf.sh
+set -e
+
+. "$SYSTEMTESTTOP/conf.sh"
 
 zone=.
 infile=root.db.in
 zonefile=root.db
 
-key1=`$KEYGEN -q -a ECDSAP256SHA256 -n zone $zone`
-key2=`$KEYGEN -q -a ECDSAP384SHA384 -n zone -f KSK $zone`
-$DSFROMKEY -a sha-384 $key2.key > dsset-384
+key1=$($KEYGEN -q -a ECDSAP256SHA256 -n zone "$zone")
+key2=$($KEYGEN -q -a ECDSAP384SHA384 -n zone -f KSK "$zone")
+$DSFROMKEY -a sha-384 "$key2.key" > dsset-384
 
-cat $infile $key1.key $key2.key > $zonefile
+cat "$infile" "$key1.key" "$key2.key" > $zonefile
 
-$SIGNER -P -g -o $zone $zonefile > /dev/null 2> signer.err || cat signer.err
+$SIGNER -P -g -o "$zone" "$zonefile" > /dev/null 2> signer.err || cat signer.err
 
 # Configure the resolving server with a static key.
-keyfile_to_static_ds $key1 > trusted.conf
+keyfile_to_static_ds "$key1" > trusted.conf
 cp trusted.conf ../ns2/trusted.conf
similarity index 98%
rename from bin/tests/system/ecdsa/ns2/named.conf
rename to bin/tests/system/ecdsa/ns2/named.conf.in
index 420073fc05652fa39c3b6272054479cd9cc2a0bd..198cdbbcec5be3fd2497d0230d15ae74eae469ac 100644 (file)
@@ -17,7 +17,7 @@ options {
        query-source address 10.53.0.2;
        notify-source 10.53.0.2;
        transfer-source 10.53.0.2;
-       port 5300;
+       port @PORT@;
        pid-file "named.pid";
        listen-on { 10.53.0.2; };
        listen-on-v6 { none; };
index f5482e6c38cf7cdea5406bce6aff88d9529e4dbd..69c4995f41b846769911bda54d68ab1c00a64e63 100644 (file)
@@ -9,7 +9,11 @@
 # See the COPYRIGHT file distributed with this work for additional
 # information regarding copyright ownership.
 
-SYSTEMTESTTOP=..
-. $SYSTEMTESTTOP/conf.sh
+set -e
+
+. "$SYSTEMTESTTOP/conf.sh"
+
+copy_setports ns1/named.conf.in ns1/named.conf
+copy_setports ns2/named.conf.in ns2/named.conf
 
 cd ns1 && $SHELL sign.sh
index 7cddfd6ce536f50aa2ea18ea6b054840782f0218..8fc2b21b1925595f8b9ab5984f21b6380832ac3a 100644 (file)
@@ -9,26 +9,28 @@
 # See the COPYRIGHT file distributed with this work for additional
 # information regarding copyright ownership.
 
-SYSTEMTESTTOP=..
-. $SYSTEMTESTTOP/conf.sh
+set -e
+
+. "$SYSTEMTESTTOP/conf.sh"
 
 status=0
-n=0
+n=1
 
-rm -f dig.out.*
+dig_with_opts() {
+    "$DIG" +tcp +noau +noadd +nosea +nostat +nocmd +dnssec -p "$PORT" "$@"
+}
 
-DIGOPTS="+tcp +noau +noadd +nosea +nostat +nocmd +dnssec -p 5300"
 
 # Check the example. domain
 echo "I:checking that positive validation works ($n)"
 ret=0
-$DIG $DIGOPTS . @10.53.0.1 soa > dig.out.ns1.test$n || ret=1
-$DIG $DIGOPTS . @10.53.0.2 soa > dig.out.ns2.test$n || ret=1
+dig_with_opts . @10.53.0.1 soa > dig.out.ns1.test$n || ret=1
+dig_with_opts . @10.53.0.2 soa > dig.out.ns2.test$n || ret=1
 $PERL ../digcomp.pl dig.out.ns1.test$n dig.out.ns2.test$n || ret=1
 grep "flags:.*ad.*QUERY" dig.out.ns2.test$n > /dev/null || ret=1
-n=`expr $n + 1`
+n=$((n+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