From 235ae5f344895fa5d20924e5eeba74a24b33d5d7 Mon Sep 17 00:00:00 2001 From: Tom Krizek Date: Mon, 10 Oct 2022 17:21:41 +0200 Subject: [PATCH] Revive dialup system test Properly template the port number in config files with copy_setports. The test takes two minutes on my machine which doesn't seem like a proper justification to exclude it from the test suite, especially considering we run these tests in parallel nowadays. The resource usage doesn't seems significantly increased so it shouldn't interfere with other system tests. There also exists a precedent for longer running system tests that are already part of the default system test suite (e.g. serve-stale takes almost three minutes on the same machine). --- bin/tests/system/Makefile.am | 7 ++++--- bin/tests/system/conf.sh.common | 5 ++--- bin/tests/system/dialup/clean.sh | 2 ++ .../dialup/ns1/{named.conf => named.conf.in} | 2 +- .../dialup/ns2/{named.conf => named.conf.in} | 2 +- .../dialup/ns3/{named.conf => named.conf.in} | 2 +- bin/tests/system/dialup/setup.sh | 19 +++++++++++++++++++ bin/tests/system/dialup/tests.sh | 2 +- bin/tests/system/dupsigs/tests.sh | 2 +- bin/tests/system/rrl/broken.conf.in | 4 ++-- 10 files changed, 34 insertions(+), 13 deletions(-) rename bin/tests/system/dialup/ns1/{named.conf => named.conf.in} (98%) rename bin/tests/system/dialup/ns2/{named.conf => named.conf.in} (98%) rename bin/tests/system/dialup/ns3/{named.conf => named.conf.in} (98%) create mode 100644 bin/tests/system/dialup/setup.sh diff --git a/bin/tests/system/Makefile.am b/bin/tests/system/Makefile.am index 8dafe871c5..e3beebbbf2 100644 --- a/bin/tests/system/Makefile.am +++ b/bin/tests/system/Makefile.am @@ -96,6 +96,7 @@ TESTS += \ checknames \ checkzone \ database \ + dialup \ dlzexternal \ dns64 \ dscp \ @@ -163,9 +164,9 @@ TESTS += \ # The "stress" test is not run by default since it creates enough # load on the machine to make it unusable to other users. -# The "dialup" and "dupsigs" tests are also not run by -# default because they take a very long time to complete. -# TESTS += dialup dupsigs stress +# The "dupsigs" test is not run by default because it takes +# a very long time to complete. +# TESTS += dupsigs stress if HAVE_LMDB TESTS += nzd2nzf diff --git a/bin/tests/system/conf.sh.common b/bin/tests/system/conf.sh.common index c3a84d8d9d..cf87df43b4 100644 --- a/bin/tests/system/conf.sh.common +++ b/bin/tests/system/conf.sh.common @@ -28,9 +28,8 @@ export LANG=C # # The "stress" test is not run by default since it creates enough # load on the machine to make it unusable to other users. -# The "dialup" and "dupsigs" tests are also not run by -# default because they take a very long time to complete. -# +# The "dupsigs" test is not run by default because it takes +# a very long time to complete. # # These tests can use ports assigned by the caller (other than 5300 diff --git a/bin/tests/system/dialup/clean.sh b/bin/tests/system/dialup/clean.sh index 581c3ccdfa..9318255bfa 100644 --- a/bin/tests/system/dialup/clean.sh +++ b/bin/tests/system/dialup/clean.sh @@ -14,3 +14,5 @@ rm -f ns2/example.bk rm -f ns3/example.bk rm -f */named.memstats */named.run +rm -f ns*/named.conf +rm -f ns*/named.lock diff --git a/bin/tests/system/dialup/ns1/named.conf b/bin/tests/system/dialup/ns1/named.conf.in similarity index 98% rename from bin/tests/system/dialup/ns1/named.conf rename to bin/tests/system/dialup/ns1/named.conf.in index 14852d13f9..4b8302bcfa 100644 --- a/bin/tests/system/dialup/ns1/named.conf +++ b/bin/tests/system/dialup/ns1/named.conf.in @@ -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; }; diff --git a/bin/tests/system/dialup/ns2/named.conf b/bin/tests/system/dialup/ns2/named.conf.in similarity index 98% rename from bin/tests/system/dialup/ns2/named.conf rename to bin/tests/system/dialup/ns2/named.conf.in index d36d4346aa..382f5ce9a4 100644 --- a/bin/tests/system/dialup/ns2/named.conf +++ b/bin/tests/system/dialup/ns2/named.conf.in @@ -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; }; diff --git a/bin/tests/system/dialup/ns3/named.conf b/bin/tests/system/dialup/ns3/named.conf.in similarity index 98% rename from bin/tests/system/dialup/ns3/named.conf rename to bin/tests/system/dialup/ns3/named.conf.in index 5158ef963f..054a65893c 100644 --- a/bin/tests/system/dialup/ns3/named.conf +++ b/bin/tests/system/dialup/ns3/named.conf.in @@ -17,7 +17,7 @@ options { query-source address 10.53.0.3; notify-source 10.53.0.3; transfer-source 10.53.0.3; - port 5300; + port @PORT@; pid-file "named.pid"; listen-on { 10.53.0.3; }; listen-on-v6 { none; }; diff --git a/bin/tests/system/dialup/setup.sh b/bin/tests/system/dialup/setup.sh new file mode 100644 index 0000000000..dad3589a35 --- /dev/null +++ b/bin/tests/system/dialup/setup.sh @@ -0,0 +1,19 @@ +#!/bin/sh + +# Copyright (C) Internet Systems Consortium, Inc. ("ISC") +# +# SPDX-License-Identifier: MPL-2.0 +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, you can obtain one at https://mozilla.org/MPL/2.0/. +# +# See the COPYRIGHT file distributed with this work for additional +# information regarding copyright ownership. + +# shellcheck source=conf.sh +. ../conf.sh + +copy_setports ns1/named.conf.in ns1/named.conf +copy_setports ns2/named.conf.in ns2/named.conf +copy_setports ns3/named.conf.in ns3/named.conf diff --git a/bin/tests/system/dialup/tests.sh b/bin/tests/system/dialup/tests.sh index efc976177a..3a8f5e8980 100644 --- a/bin/tests/system/dialup/tests.sh +++ b/bin/tests/system/dialup/tests.sh @@ -17,7 +17,7 @@ status=0 rm -f dig.out.* -DIGOPTS="+norec +tcp +noadd +nosea +nostat +noquest +nocmd -p 5300" +DIGOPTS="+norec +tcp +noadd +nosea +nostat +noquest +nocmd -p ${PORT}" # Check the example. domain diff --git a/bin/tests/system/dupsigs/tests.sh b/bin/tests/system/dupsigs/tests.sh index 9778ff9a2e..731a3193b3 100644 --- a/bin/tests/system/dupsigs/tests.sh +++ b/bin/tests/system/dupsigs/tests.sh @@ -20,7 +20,7 @@ do et=`expr $now - $start` echo "=============== $et ============" $JOURNALPRINT ns1/signing.test.db.signed.jnl | $PERL check_journal.pl - $DIG axfr signing.test -p 5300 @10.53.0.1 > dig.out.at$et + $DIG axfr signing.test -p ${PORT} @10.53.0.1 > dig.out.at$et awk '$4 == "RRSIG" { print $11 }' dig.out.at$et | sort | uniq -c lines=`awk '$4 == "RRSIG" { print}' dig.out.at$et | wc -l` if [ ${et} -ne 0 -a ${lines} -ne 4009 ] diff --git a/bin/tests/system/rrl/broken.conf.in b/bin/tests/system/rrl/broken.conf.in index d830402493..9a793c8125 100644 --- a/bin/tests/system/rrl/broken.conf.in +++ b/bin/tests/system/rrl/broken.conf.in @@ -17,7 +17,7 @@ options { query-source address 10.53.0.5; notify-source 10.53.0.5; transfer-source 10.53.0.5; - port 5300; + port @PORT@; pid-file "named.pid"; statistics-file "named.stats"; listen-on { 10.53.0.5; }; @@ -42,5 +42,5 @@ key rndc_key { }; controls { - inet 10.53.0.5 port 9953 allow { any; } keys { rndc_key; }; + inet 10.53.0.5 port @CONTROLPORT@ allow { any; } keys { rndc_key; }; };