ret=0
$RNDCCMD 10.53.0.3 addzone "test4.baz" '{ type master; file "e.db"; };' > /dev/null 2>&1 || ret=1
$RNDCCMD 10.53.0.3 addzone "test5.baz" '{ type master; file "e.db"; };' > /dev/null 2>&1 || ret=1
-$PERL $SYSTEMTESTTOP/stop.pl . ns3
+$PERL $SYSTEMTESTTOP/stop.pl addzone ns3
$PERL $SYSTEMTESTTOP/start.pl --noclean --restart --port ${PORT} addzone ns3 || ret=1
$DIG $DIGOPTS @10.53.0.3 version.bind txt ch > dig.out.test$n || ret=1
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
ret=0
$DIG $DIGOPTS nonexist. txt @10.53.0.5 > dig.out.f2 || ret=1
grep "status: NXDOMAIN" dig.out.f2 > /dev/null || ret=1
-$PERL ../stop.pl . ns4 || ret=1
+$PERL ../stop.pl forward ns4 || ret=1
$DIG $DIGOPTS nonexist. txt @10.53.0.5 > dig.out.f2 || ret=1
grep "status: NXDOMAIN" dig.out.f2 > /dev/null || ret=1
$PERL ../start.pl --restart --noclean --port ${PORT} forward ns4 || ret=1
n=`expr $n + 1`
echo_i "stop bump in the wire signer server ($n)"
ret=0
-$PERL ../stop.pl . ns3 || ret=1
+$PERL ../stop.pl inline ns3 || ret=1
if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
echo_i "stop bump in the wire signer server ($n)"
ret=0
-$PERL ../stop.pl . ns3 || ret=1
+$PERL ../stop.pl inline ns3 || ret=1
if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
if [ $ans != 0 ]; then ret=1; fi
# Halt rather than stopping the server to prevent the master file from being
# flushed upon shutdown since we specifically want to avoid it.
-$PERL $SYSTEMTESTTOP/stop.pl --use-rndc --halt --port ${CONTROLPORT} . ns3
+$PERL $SYSTEMTESTTOP/stop.pl --use-rndc --halt --port ${CONTROLPORT} inline ns3
ensure_sigs_only_in_journal delayedkeys ns3/delayedkeys.db.signed
$PERL $SYSTEMTESTTOP/start.pl --noclean --restart --port ${PORT} inline ns3
# At this point, the raw zone journal will not have a source serial set. Upon
# return delayedkeys/SOA as the next node to resign, so we restart the server
# once again; with the raw zone journal now having a source serial set,
# receive_secure_serial() should refrain from introducing any zone changes.
-$PERL $SYSTEMTESTTOP/stop.pl --use-rndc --halt --port ${CONTROLPORT} . ns3
+$PERL $SYSTEMTESTTOP/stop.pl --use-rndc --halt --port ${CONTROLPORT} inline ns3
ensure_sigs_only_in_journal delayedkeys ns3/delayedkeys.db.signed
$PERL $SYSTEMTESTTOP/start.pl --noclean --restart --port ${PORT} inline ns3
# We can now test whether the secure zone journal was correctly processed:
if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
-$PERL $SYSTEMTESTTOP/stop.pl . ns1
+$PERL $SYSTEMTESTTOP/stop.pl legacy ns1
copy_setports ns1/named2.conf.in ns1/named.conf
else
echo_i "testing plain file failed (unexpected)"
echo_i "exit status: 1"
- exit 1
+ exit 1
fi
# Now try directory, expect failure
echo_i "skipping pipe test (unable to create pipe)"
fi
-# Now try symlink file to plain file, expect success
+# Now try symlink file to plain file, expect success
n=`expr $n + 1`
echo_i "testing symlink to plain file as log file (named -g) ($n)"
# Assume success
# files while controlling the stop/start of the server.
# Have to stop the stock server because it uses "-g"
#
-$PERL ../../stop.pl .. ns1
+$PERL ../../stop.pl logfileconfig ns1
$myNAMED > /dev/null 2>&1
else
echo_i "testing plain file failed (unexpected)"
echo_i "exit status: 1"
- exit 1
+ exit 1
fi
# Now try directory, expect failure
echo_i "skipping pipe test (unable to create pipe)"
fi
-# Now try symlink file to plain file, expect success
+# Now try symlink file to plain file, expect success
n=`expr $n + 1`
echo_i "testing symlink to plain file as log file ($n)"
# Assume success
echo_i "testing default logfile using named -L file ($n)"
# Now stop the server again and test the -L option
rm -f $DLFILE
-$PERL ../../stop.pl .. ns1
+$PERL ../../stop.pl logfileconfig ns1
if ! test -f $PIDFILE; then
copy_setports $PLAINCONF named.conf
$myNAMED -L $DLFILE > /dev/null 2>&1
then
echo_i "testing explicit versions failed: cleanup of old entries took too long ($t secs)"
status=`expr $status + 1`
-fi
+fi
if ! grep "status: NOERROR" dig.out.test$n > /dev/null
then
echo_i "testing explicit versions failed: DiG lookup failed"
then
echo_i "testing timestamped versions failed: cleanup of old entries took too long ($t secs)"
status=`expr $status + 1`
-fi
+fi
if ! grep "status: NOERROR" dig.out.test$n > /dev/null
then
echo_i "testing timestamped versions failed: DiG lookup failed"
then
echo_i "testing unlimited versions failed: took too long ($t secs)"
status=`expr $status + 1`
-fi
+fi
if ! grep "status: NOERROR" dig.out.test$n > /dev/null
then
echo_i "testing unlimited versions failed: DiG lookup failed"
n=`expr $n + 1`
echo_i "checking that loading a correctly signed mirror zone from disk succeeds ($n)"
ret=0
-$PERL $SYSTEMTESTTOP/stop.pl --use-rndc --port ${CONTROLPORT} . ns3
+$PERL $SYSTEMTESTTOP/stop.pl --use-rndc --port ${CONTROLPORT} mirror ns3
cat ns2/verify-load.db.good.signed > ns3/verify-load.db.mirror
nextpart ns3/named.run > /dev/null
$PERL $SYSTEMTESTTOP/start.pl --noclean --restart --port ${PORT} mirror ns3
n=`expr $n + 1`
echo_i "checking that loading a journal for an incorrectly signed mirror zone fails ($n)"
ret=0
-$PERL $SYSTEMTESTTOP/stop.pl --use-rndc --port ${CONTROLPORT} . ns3
+$PERL $SYSTEMTESTTOP/stop.pl --use-rndc --port ${CONTROLPORT} mirror ns3
cp ns3/verify-journal.db.mirror ns3/verify-ixfr.db.mirror
cp ns3/verify-journal.db.bad.mirror.jnl ns3/verify-ixfr.db.mirror.jnl
nextpart ns3/named.run > /dev/null
n=`expr $n + 1`
echo_i "checking that loading a journal for a correctly signed mirror zone succeeds ($n)"
ret=0
-$PERL $SYSTEMTESTTOP/stop.pl --use-rndc --port ${CONTROLPORT} . ns3
+$PERL $SYSTEMTESTTOP/stop.pl --use-rndc --port ${CONTROLPORT} mirror ns3
cp ns3/verify-journal.db.mirror ns3/verify-ixfr.db.mirror
cp ns3/verify-journal.db.good.mirror.jnl ns3/verify-ixfr.db.mirror.jnl
nextpart ns3/named.run > /dev/null
$RNDCCMD 10.53.0.2 reconfig > /dev/null 2>&1
# Stop ns3, update the timestamp of the zone file to one far in the past, then
# restart ns3.
-$PERL $SYSTEMTESTTOP/stop.pl --use-rndc --port ${CONTROLPORT} . ns3
+$PERL $SYSTEMTESTTOP/stop.pl --use-rndc --port ${CONTROLPORT} mirror ns3
touch -t 200001010000 ns3/initially-unavailable.db.mirror
nextpart ns3/named.run > /dev/null
$PERL $SYSTEMTESTTOP/start.pl --noclean --restart --port ${PORT} mirror ns3
status=`expr $status + $ret`
echo_i "reinitialize trust anchors, add second key to bind.keys"
-$PERL $SYSTEMTESTTOP/stop.pl --use-rndc --port ${CONTROLPORT} . ns2
+$PERL $SYSTEMTESTTOP/stop.pl --use-rndc --port ${CONTROLPORT} mkeys ns2
rm -f ns2/managed-keys.bind*
keyfile_to_managed_keys ns1/$original ns1/$standby1 > ns2/managed.conf
nextpart ns2/named.run > /dev/null
status=`expr $status + $ret`
echo_i "reinitialize trust anchors, revert to one key in bind.keys"
-$PERL $SYSTEMTESTTOP/stop.pl --use-rndc --port ${CONTROLPORT} . ns2
+$PERL $SYSTEMTESTTOP/stop.pl --use-rndc --port ${CONTROLPORT} mkeys ns2
rm -f ns2/managed-keys.bind*
mv ns2/managed1.conf ns2/managed.conf
nextpart ns2/named.run > /dev/null
mkeys_reconfig_on 1
echo_i "reinitialize trust anchors"
-$PERL $SYSTEMTESTTOP/stop.pl --use-rndc --port ${CONTROLPORT} . ns2
+$PERL $SYSTEMTESTTOP/stop.pl --use-rndc --port ${CONTROLPORT} mkeys ns2
rm -f ns2/managed-keys.bind*
nextpart ns2/named.run > /dev/null
$PERL $SYSTEMTESTTOP/start.pl --noclean --restart --port ${PORT} mkeys ns2
mkeys_refresh_on 2
mkeys_status_on 2 > rndc.out.$n 2>&1
t1=`grep 'next refresh:' rndc.out.$n`
-$PERL $SYSTEMTESTTOP/stop.pl --use-rndc --port ${CONTROLPORT} . ns1
+$PERL $SYSTEMTESTTOP/stop.pl --use-rndc --port ${CONTROLPORT} mkeys ns1
rm -f ns1/root.db.signed.jnl
cp ns1/root.db ns1/root.db.signed
nextpart ns1/named.run > /dev/null
mkeys_refresh_on 2
mkeys_status_on 2 > rndc.out.$n 2>&1
t1=`grep 'next refresh:' rndc.out.$n`
-$PERL $SYSTEMTESTTOP/stop.pl --use-rndc --port ${CONTROLPORT} . ns1
+$PERL $SYSTEMTESTTOP/stop.pl --use-rndc --port ${CONTROLPORT} mkeys ns1
rm -f ns1/root.db.signed.jnl
cat ns1/K*.key >> ns1/root.db.signed
nextpart ns1/named.run > /dev/null
# ensure key refresh retry will be scheduled to one actual hour after the first
# key refresh failure instead of just a few seconds, in order to prevent races
# between the next scheduled key refresh time and startup time of restarted ns5.
-$PERL $SYSTEMTESTTOP/stop.pl --use-rndc --port ${CONTROLPORT} . ns5
+$PERL $SYSTEMTESTTOP/stop.pl --use-rndc --port ${CONTROLPORT} mkeys ns5
nextpart ns5/named.run > /dev/null
$PERL $SYSTEMTESTTOP/start.pl --noclean --restart --port ${PORT} mkeys ns5
wait_for_log "Returned from key fetch in keyfetch_done()" ns5/named.run
n=`expr $n + 1`
echo_i "check key refreshes are resumed after root servers become available ($n)"
ret=0
-$PERL $SYSTEMTESTTOP/stop.pl --use-rndc --port ${CONTROLPORT} . ns5
+$PERL $SYSTEMTESTTOP/stop.pl --use-rndc --port ${CONTROLPORT} mkeys ns5
# Prevent previous check from affecting this one
rm -f ns5/managed-keys.bind*
# named2.args adds "-T mkeytimers=2/20/40" to named1.args as we need to wait for
status=`expr $ret + $status`
echo_i "stopping master and restarting with example4 then waiting up to 45 seconds"
-$PERL $SYSTEMTESTTOP/stop.pl . ns2
+$PERL $SYSTEMTESTTOP/stop.pl notify ns2
rm -f ns2/example.db
cp -f ns2/example4.db ns2/example.db
update add updated4.example.nil. 600 A 10.10.10.3
send
END
-$PERL $SYSTEMTESTTOP/stop.pl --use-rndc --port ${CONTROLPORT} . ns1
+$PERL $SYSTEMTESTTOP/stop.pl --use-rndc --port ${CONTROLPORT} nsupdate ns1
# Removing the journal file and restarting the server means
# that the data served by the new server process are exactly
# those dumped to the master file by "rndc stop".
status=`expr $status + $ret`
echo_i "stopping ns1"
-$PERL $SYSTEMTESTTOP/stop.pl . ns1
+$PERL $SYSTEMTESTTOP/stop.pl nzd2nzf ns1
n=`expr $n + 1`
echo_i "dumping _default.nzd to _default.nzf ($n)"
continue
fi
echo_i "attempting to configure servers with DNSRPS..."
- $PERL $SYSTEMTESTTOP/stop.pl .
+ $PERL $SYSTEMTESTTOP/stop.pl rpz
$SHELL ./setup.sh -N -D $DEBUG
for server in ns*; do
resetstats $server
# restart the main test RPZ server to see if that creates a core file
if test -z "$HAVE_CORE"; then
- $PERL $SYSTEMTESTTOP/stop.pl . ns3
+ $PERL $SYSTEMTESTTOP/stop.pl rpz ns3
restart 3
HAVE_CORE=`find ns* -name '*core*' -print`
test -z "$HAVE_CORE" || setret "found $HAVE_CORE; memory leak?"
TESTNAME=$1
echo_i "stopping resolver"
- $PERL $SYSTEMTESTTOP/stop.pl . ns2
+ $PERL $SYSTEMTESTTOP/stop.pl rpzrecurse ns2
sleep 1
continue
fi
echo_i "attempting to configure servers with DNSRPS..."
- $PERL $SYSTEMTESTTOP/stop.pl .
+ $PERL $SYSTEMTESTTOP/stop.pl rpzrecurse
$SHELL ./setup.sh -N -D $DEBUG
sed -n 's/^## //p' dnsrps.conf | cat_i
if grep '^#fail' dnsrps.conf >/dev/null; then
status=`expr $status + $ret`
echo_i "disabling server to force non-dnssec SERVFAIL"
-$PERL $SYSTEMTESTTOP/stop.pl --use-rndc --port ${CONTROLPORT} . ns2
+$PERL $SYSTEMTESTTOP/stop.pl --use-rndc --port ${CONTROLPORT} sfcache ns2
awk '/SERVFAIL/ { next; out=1 } /Zone/ { out=0 } { if (out) print }' ns5/named_dump.db
echo_i "checking SERVFAIL is cached ($n)"
ret=0
# Subroutines
sub read_ns_port {
- my $server = shift;
+ my ( $server ) = @_;
my $port = $queryport;
my $options = "";
}
sub check_ns_port {
- my $server = shift;
+ my ( $server ) = @_;
my $options = "";
my $port = read_ns_port($server);
print "I:$test:server sockets not available\n";
print "I:$test:failed\n";
- system("$PERL $topdir/stop.pl $testdir"); # Is this the correct behavior?
+ system("$PERL $topdir/stop.pl $test"); # Is this the correct behavior?
exit 1;
}
}
sub start_server {
- my $server = shift;
- my $command = shift;
- my $pid_file = shift;
+ my ( $server, $command, $pid_file ) = @_;
chdir "$testdir/$server" or die "unable to chdir \"$testdir/$server\" ($OS_ERROR)\n";
print "I:$test:Couldn't start server $command (pid=$child)\n";
print "I:$test:failed\n";
system "kill -9 $child" if ("$child" ne "");
- system "$PERL $topdir/stop.pl $testdir";
+ system "$PERL $topdir/stop.pl $test";
exit 1;
}
sleep 0.1;
}
sub construct_ns_command {
- my $server = shift;
- my $options = shift;
+ my ( $server, $options ) = @_;
my $command;
}
sub start_ns_server {
- my $server = shift;
- my $options = shift;
+ my ( $server, $options ) = @_;
my $cleanup_files;
my $command;
}
sub construct_ans_command {
- my $server = shift;
- my $options = shift;
+ my ( $server, $options ) = @_;
my $command;
my $n;
}
sub start_ans_server {
- my $server = shift; # masks the global variable
- my $options = shift; # masks the global variable
+ my ( $server, $options ) = @_;
my $cleanup_files;
my $command;
}
sub verify_ns_server {
- my $server = shift;
+ my ( $server ) = @_;
my $tries = 0;
print "I:$test:server $server seems to have not started\n";
print "I:$test:failed\n";
- system("$PERL $topdir/stop.pl $testdir");
+ system("$PERL $topdir/stop.pl $test");
exit 1;
}
print "I:$test:no response from $server\n";
print "I:$test:failed\n";
- system("$PERL $topdir/stop.pl $testdir");
+ system("$PERL $topdir/stop.pl $test");
exit 1;
}
# See the COPYRIGHT file distributed with this work for additional
# information regarding copyright ownership.
-. ./conf.sh
-$PERL ./stop.pl "$@"
+SYSTEMTESTTOP="$(realpath "$(dirname "$0")")"
+# shellcheck source=conf.sh
+. "$SYSTEMTESTTOP/conf.sh"
+export SYSTEMTESTTOP
+$PERL "$SYSTEMTESTTOP/stop.pl" "$@"
[ $pass = 1 ] && {
echo_i "stopping stub server"
- $PERL $SYSTEMTESTTOP/stop.pl . ns3
+ $PERL $SYSTEMTESTTOP/stop.pl stub ns3
echo_i "re-starting stub server"
$PERL $SYSTEMTESTTOP/start.pl --noclean --restart --port ${PORT} stub ns3
status=`expr $status + $ret`
echo_i "stop and restart slave"
-$PERL $SYSTEMTESTTOP/stop.pl . ns2
+$PERL $SYSTEMTESTTOP/stop.pl unknown ns2
$PERL $SYSTEMTESTTOP/start.pl --noclean --restart --port ${PORT} unknown ns2
echo_i "checking large unknown record loading on slave"
status=`expr $status + $ret`
echo_i "stop and restart inline slave"
-$PERL $SYSTEMTESTTOP/stop.pl . ns3
+$PERL $SYSTEMTESTTOP/stop.pl unknown ns3
$PERL $SYSTEMTESTTOP/start.pl --noclean --restart --port ${PORT} unknown ns3
echo_i "checking large unknown record loading on inline slave"
tmp=0
$DIG -p ${PORT} txt mapped @10.53.0.3 > dig.out.1.$n
grep "status: NOERROR," dig.out.1.$n > /dev/null || tmp=1
-$PERL $SYSTEMTESTTOP/stop.pl . ns3
+$PERL $SYSTEMTESTTOP/stop.pl xfer ns3
$PERL $SYSTEMTESTTOP/start.pl --noclean --restart --port ${PORT} xfer ns3
$DIG -p ${PORT} txt mapped @10.53.0.3 > dig.out.2.$n
grep "status: NOERROR," dig.out.2.$n > /dev/null || tmp=1