- Use an explicit 'reload_keep_cache' command and introduce test cases

for #569.
This commit is contained in:
George Thessalonikefs 2022-12-14 16:33:28 +01:00
parent 857d6ce3a1
commit 7716d26d46
8 changed files with 318 additions and 342 deletions

View file

@ -682,10 +682,9 @@ do_stop(RES* ssl, struct worker* worker)
/** do the reload command */ /** do the reload command */
static void static void
do_reload(RES* ssl, struct worker* worker, char* arg) do_reload(RES* ssl, struct worker* worker, int reuse_cache)
{ {
arg = skipwhite(arg); worker->reuse_cache = reuse_cache;
worker->reuse_cache = (strcmp(arg, "+keep-cache") == 0);
worker->need_to_exit = 0; worker->need_to_exit = 0;
comm_base_exit(worker->base); comm_base_exit(worker->base);
send_ok(ssl); send_ok(ssl);
@ -3031,8 +3030,11 @@ execute_cmd(struct daemon_remote* rc, RES* ssl, char* cmd,
if(cmdcmp(p, "stop", 4)) { if(cmdcmp(p, "stop", 4)) {
do_stop(ssl, worker); do_stop(ssl, worker);
return; return;
} else if(cmdcmp(p, "reload_keep_cache", 17)) {
do_reload(ssl, worker, 1);
return;
} else if(cmdcmp(p, "reload", 6)) { } else if(cmdcmp(p, "reload", 6)) {
do_reload(ssl, worker, skipwhite(p+6)); do_reload(ssl, worker, 0);
return; return;
} else if(cmdcmp(p, "stats_noreset", 13)) { } else if(cmdcmp(p, "stats_noreset", 13)) {
do_stats(ssl, worker, 0); do_stats(ssl, worker, 0);

View file

@ -54,6 +54,12 @@ Stop the server. The server daemon exits.
.B reload .B reload
Reload the server. This flushes the cache and reads the config file fresh. Reload the server. This flushes the cache and reads the config file fresh.
.TP .TP
.B reload_keep_cache
Reload the server but try to keep the RRset and message cache if
(re)configuration allows for it.
That means the caches sizes and the number of threads must not change between
reloads.
.TP
.B verbosity \fInumber .B verbosity \fInumber
Change verbosity value for logging. Same values as \fBverbosity\fR keyword in Change verbosity value for logging. Same values as \fBverbosity\fR keyword in
\fIunbound.conf\fR(5). This new setting lasts until the server is issued \fIunbound.conf\fR(5). This new setting lasts until the server is issued

View file

@ -102,7 +102,12 @@ usage(void)
printf(" stop stops the server\n"); printf(" stop stops the server\n");
printf(" reload reloads the server\n"); printf(" reload reloads the server\n");
printf(" (this flushes data, stats, requestlist)\n"); printf(" (this flushes data, stats, requestlist)\n");
printf(" reload +keep-cache ditto but keep RRset and message cache\n"); printf(" reload_keep_cache reloads the server but tries to\n");
printf(" keep the RRset and message cache\n");
printf(" if (re)configuration allows for it.\n");
printf(" That means the caches sizes and\n");
printf(" the number of threads must not\n");
printf(" change between reloads.\n");
printf(" stats print statistics\n"); printf(" stats print statistics\n");
printf(" stats_noreset peek at statistics\n"); printf(" stats_noreset peek at statistics\n");
#ifdef HAVE_SHMGET #ifdef HAVE_SHMGET

View file

@ -1,6 +1,6 @@
server: server:
verbosity: 2 verbosity: 2
# num-threads: 1 num-threads: 1
interface: 127.0.0.1 interface: 127.0.0.1
port: @PORT@ port: @PORT@
use-syslog: no use-syslog: no
@ -9,6 +9,10 @@ server:
chroot: "" chroot: ""
username: "" username: ""
do-not-query-localhost: no do-not-query-localhost: no
access-control: 127.0.0.1 allow_snoop
msg-cache-size: 4m
rrset-cache-size: 4m
minimal-responses: yes
remote-control: remote-control:
control-enable: yes control-enable: yes
control-interface: 127.0.0.1 control-interface: 127.0.0.1
@ -21,4 +25,3 @@ remote-control:
forward-zone: forward-zone:
name: "." name: "."
forward-addr: "127.0.0.1@@TOPORT@" forward-addr: "127.0.0.1@@TOPORT@"

View file

@ -5,364 +5,317 @@
[ -f .tpkg.var.test ] && source .tpkg.var.test [ -f .tpkg.var.test ] && source .tpkg.var.test
PRE="../.." PRE="../.."
. ../common.sh
# exit value is 1 on usage # End the test
$PRE/unbound-control -h # $1: exit value
if test $? -ne 1; then end () {
echo "wrong exit value for usage." echo "> cat logfiles"
exit 1 cat fwd.log
cat unbound.log
exit $1
}
# Expect a given exit value of the previous command
# $1: the expected exit value
# $2: optional text to print when failing
expect_exit_value () {
if test $? -ne $1; then
if test -z "$2"; then
if test $1 -eq 1; then
msg="on error"
else else
echo "exit value for usage: OK" msg="after success"
fi fi
else
msg="$2"
fi
echo "wrong exit value $msg"
end 1
fi
}
# Helper function for quering
# $@: at least the domain name to query and optional dig arguments
query () {
echo "> dig $@"
dig @127.0.0.1 -p $UNBOUND_PORT $@ | tee outfile
}
# Expect something in the answer
# $1: expected regular expression
expect_answer () {
echo "> check answer for \"$1\""
if grep "$1" outfile; then
echo "OK"
else
echo "Not OK"
end 1
fi
}
# Fail the test for unexpected answers
# $1: unexpected regular expression
fail_answer () {
echo "> \"$1\" should not be in answer"
if grep "$1" outfile; then
echo "Not OK"
end 1
else
echo "OK"
fi
}
# Issue an unbound-control command
# $@: command arguments
control_command () {
echo "$PRE/unbound-control $@"
$PRE/unbound-control $@ > outfile
}
# Dump the cache contents
# $@: optional options to unbound-control
cache_dump () {
echo "$PRE/unbound-control $@ dump_cache > cache.dump"
$PRE/unbound-control $@ dump_cache > cache.dump
}
# Load cache contents
# $@: optional options to unbound-control
cache_load () {
echo "$PRE/unbound-control $@ load_cache < cache.dump"
$PRE/unbound-control $@ load_cache < cache.dump
}
# Expect an entry in the cache dump
# $1: expected regular expression
expect_in_cache_dump () {
echo "> check cache dump for \"$1\""
if grep "$1" cache.dump; then
echo "OK cache dump"
else
echo "Not OK cache dump"
end 1
fi
}
# Fail the test for unexpected entry in the cache dump
# $1: unexpected regular expression
fail_in_cache_dump () {
echo "> \"$1\" should not be in cache dump"
if grep "$1" cache.dump; then
echo "Not OK cache dump"
end 1
else
echo "OK cache dump"
fi
}
# start the test
cp ub.conf main.conf
teststep "exit value is 1 on usage"
control_command -h
expect_exit_value 1 "for usage"
# use lock-verify if possible # use lock-verify if possible
# test if the server is up. teststep "test if the server is up"
echo "> dig www.example.com." query www.example.com.
dig @127.0.0.1 -p $UNBOUND_PORT www.example.com. | tee outfile expect_answer "10.20.30.40"
echo "> check answer"
if grep "10.20.30.40" outfile; then
echo "OK"
else
echo "> cat logfiles"
cat fwd.log
cat unbound.log
echo "Not OK"
exit 1
fi
# exit value is 1 when a bad command is given. teststep "exit value is 1 when a bad command is given"
echo "$PRE/unbound-control -c ub.conf blablargh" control_command -c ub.conf blablargh
$PRE/unbound-control -c ub.conf blablargh expect_exit_value 1
if test $? -ne 1; then
echo "wrong exit value on error."
echo "> cat logfiles"
cat fwd.log
cat unbound.lo
exit 1
else
echo "correct exit value on error"
fi
# reload the server. test if the server came up by putting a new # reload the server. test if the server came up by putting a new
# local-data element in the server. # local-data element in the server.
teststep "reload the server"
echo "server: local-data: 'afterreload. IN A 5.6.7.8'" >> ub.conf echo "server: local-data: 'afterreload. IN A 5.6.7.8'" >> ub.conf
echo "$PRE/unbound-control -c ub.conf reload" control_command -c ub.conf reload
$PRE/unbound-control -c ub.conf reload expect_exit_value 0
if test $? -ne 0; then query afterreload.
echo "wrong exit value after success" expect_answer "5.6.7.8"
exit 1
fi
echo "> dig afterreload." teststep "must have had at least 1 query since reload"
dig @127.0.0.1 -p $UNBOUND_PORT afterreload. | tee outfile control_command -c ub.conf stats
echo "> check answer" expect_exit_value 0
if grep "5.6.7.8" outfile; then expect_answer "^total.num.queries=[1-9][0-9]*$"
echo "OK"
else
echo "> cat logfiles"
cat fwd.log
cat unbound.log
echo "Not OK"
exit 1
fi
# must have had queries now. 1 since reload. teststep "check verbosity"
echo "$PRE/unbound-control -c ub.conf stats" control_command -c ub.conf verbosity 2
$PRE/unbound-control -c ub.conf stats > tmp.$$ expect_exit_value 0
if test $? -ne 0; then
echo "wrong exit value after success"
exit 1
fi
if grep "^total.num.queries=[1-9][0-9]*$" tmp.$$; then
echo "OK"
else
echo "bad stats"
cat tmp.$$
exit 1
fi
# verbosity teststep "check syntax error in parse"
echo "$PRE/unbound-control -c ub.conf verbosity 2" control_command -c ub.conf verbosity jkdf
$PRE/unbound-control -c ub.conf verbosity 2 expect_exit_value 1
if test $? -ne 0; then
echo "wrong exit value after success"
exit 1
fi
# check syntax error in parse teststep "check bad credentials"
echo "$PRE/unbound-control -c ub.conf verbosity jkdf"
$PRE/unbound-control -c ub.conf verbosity jkdf
if test $? -ne 1; then
echo "wrong exit value after failure"
exit 1
fi
# check bad credentials
cp ub.conf bad.conf cp ub.conf bad.conf
echo "remote-control:" >> bad.conf cat conf.bad_credentials >> bad.conf
echo " server-key-file: bad_server.key" >> bad.conf control_command -c bad.conf verbosity 2
echo " server-cert-file: bad_server.pem" >> bad.conf expect_exit_value 1
echo " control-key-file: bad_control.key" >> bad.conf
echo " control-cert-file: bad_control.pem" >> bad.conf
echo "$PRE/unbound-control -c bad.conf verbosity 2"
$PRE/unbound-control -c bad.conf verbosity 2
if test $? -ne 1; then
echo "wrong exit value after failure"
exit 1
fi
# check spoofedclient credentials teststep "check spoofed client credentials"
rm -f bad.conf rm -f bad.conf
cp ub.conf bad.conf cp ub.conf bad.conf
echo "remote-control:" >> bad.conf cat conf.spoofed_credentials >> bad.conf
echo " server-key-file: unbound_server.key" >> bad.conf control_command -c bad.conf verbosity 2
echo " server-cert-file: unbound_server.pem" >> bad.conf expect_exit_value 1
echo " control-key-file: bad_control.key" >> bad.conf
echo " control-cert-file: bad_control.pem" >> bad.conf
echo "$PRE/unbound-control -c bad.conf verbosity 2"
$PRE/unbound-control -c bad.conf verbosity 2
if test $? -ne 1; then
echo "wrong exit value after failure"
exit 1
fi
# create a new local zone teststep "create a new local zone"
echo "> test of local zone" control_command -c ub.conf local_zone example.net static
echo "$PRE/unbound-control -c ub.conf local_zone example.net static" expect_exit_value 0
$PRE/unbound-control -c ub.conf local_zone example.net static control_command -c ub.conf local_data www.example.net A 192.0.2.1
if test $? -ne 0; then expect_exit_value 0
echo "wrong exit value after success"
exit 1
fi
echo "$PRE/unbound-control -c ub.conf local_data www.example.net A 192.0.2.1"
$PRE/unbound-control -c ub.conf local_data www.example.net A 192.0.2.1
if test $? -ne 0; then
echo "wrong exit value after success"
exit 1
fi
# check that www.example.net exists teststep "check that www.example.net exists"
echo "> dig www.example.net." query www.example.net.
dig @127.0.0.1 -p $UNBOUND_PORT www.example.net. | tee outfile expect_answer "192.0.2.1"
echo "> check answer"
if grep "192.0.2.1" outfile; then
echo "OK"
else
echo "> cat logfiles"
cat fwd.log
cat unbound.log
echo "Not OK"
exit 1
fi
# check that mail.example.net has nxdomain teststep "check that mail.example.net has nxdomain"
echo "> dig mail.example.net." query mail.example.net.
dig @127.0.0.1 -p $UNBOUND_PORT mail.example.net. | tee outfile expect_answer "NXDOMAIN"
echo "> check answer"
if grep "NXDOMAIN" outfile; then
echo "OK"
else
echo "> cat logfiles"
cat fwd.log
cat unbound.log
echo "Not OK"
exit 1
fi
# remove www.example.net - check it gets nxdomain teststep "remove www.example.net - check it gets nxdomain"
echo "$PRE/unbound-control -c ub.conf local_data_remove www.example.net" control_command -c ub.conf local_data_remove www.example.net
$PRE/unbound-control -c ub.conf local_data_remove www.example.net expect_exit_value 0
if test $? -ne 0; then query www.example.net.
echo "wrong exit value after success" expect_answer "NXDOMAIN"
exit 1
fi
echo "> dig www.example.net."
dig @127.0.0.1 -p $UNBOUND_PORT www.example.net. | tee outfile
echo "> check answer"
if grep "NXDOMAIN" outfile; then
echo "OK"
else
echo "> cat logfiles"
cat fwd.log
cat unbound.log
echo "Not OK"
exit 1
fi
# remove nonexistent name - check bug#287(segfault) does not happen. teststep "remove nonexistent name - check bug#287(segfault) does not happen"
echo "$PRE/unbound-control -c ub.conf local_data_remove test.example.net" control_command -c ub.conf local_data_remove test.example.net
$PRE/unbound-control -c ub.conf local_data_remove test.example.net
# if crash then then we get: error: could not SSL_read from unbound-control # if crash then then we get: error: could not SSL_read from unbound-control
if test $? -ne 0; then expect_exit_value 0
echo "wrong exit value after success"
cat unbound.log
echo "Not OK"
exit 1
fi
# remove example.net - check its gone. teststep "remove example.net - check its gone"
echo "$PRE/unbound-control -c ub.conf local_zone_remove example.net" control_command -c ub.conf local_zone_remove example.net
$PRE/unbound-control -c ub.conf local_zone_remove example.net expect_exit_value 0
if test $? -ne 0; then query www.example.net.
echo "wrong exit value after success" expect_answer "SERVFAIL"
exit 1
fi
echo "> dig www.example.net."
dig @127.0.0.1 -p $UNBOUND_PORT www.example.net. | tee outfile
echo "> check answer"
if grep "SERVFAIL" outfile; then
echo "OK"
else
echo "> cat logfiles"
cat fwd.log
cat unbound.log
echo "Not OK"
exit 1
fi
# dump the cache teststep "dump the cache"
echo "> test cache dump" query www.example.com.
# fillup cache cache_dump -c ub.conf
echo "dig www.example.com" expect_exit_value 0
dig @127.0.0.1 -p $UNBOUND_PORT www.example.com. cat cache.dump
echo "$PRE/unbound-control -c ub.conf dump_cache" expect_in_cache "10.20.30.40"
$PRE/unbound-control -c ub.conf dump_cache > tmp.$$
if test $? -ne 0; then
echo "wrong exit value after success"
exit 1
fi
cat tmp.$$
if grep 10.20.30.40 tmp.$$; then
echo "OK example.com is in cache dump"
else
echo "Not OK cache dump"
exit 1
fi
# test lookup control_command -c ub.conf lookup www.example.com
echo "$PRE/unbound-control -c ub.conf lookup www.example.com" expect_exit_value 0
$PRE/unbound-control -c ub.conf lookup www.example.com
if test $? -ne 0; then
echo "wrong exit value after success"
exit 1
fi
# answer to lookup is meaningless because of use a forwarder, oh well. # answer to lookup is meaningless because of use a forwarder, oh well.
# load the cache dump. teststep "load the cache dump"
echo "$PRE/unbound-control -c ub.conf load_cache < tmp.$$" cache_load -c ub.conf
$PRE/unbound-control -c ub.conf load_cache < tmp.$$ expect_exit_value 0
if test $? -ne 0; then query www.example.com.
echo "wrong exit value after success" expect_answer "10.20.30.40"
exit 1
fi
echo "> dig www.example.com."
dig @127.0.0.1 -p $UNBOUND_PORT www.example.com. | tee outfile
echo "> check answer"
if grep "10.20.30.40" outfile; then
echo "OK"
else
echo "> cat logfiles"
cat fwd.log
cat unbound.log
echo "Not OK"
exit 1
fi
# load local-zones from file teststep "load local-zones from file"
echo "$PRE/unbound-control -c ub.conf local_zones < local_zones" control_command -c ub.conf local_zones < local_zones
$PRE/unbound-control -c ub.conf local_zones < local_zones expect_exit_value 0
if test $? -ne 0; then query localzonefromfile
echo "wrong exit value after success" expect_answer "REFUSED"
exit 1
fi
echo "> dig localzonefromfile."
dig @127.0.0.1 -p $UNBOUND_PORT localzonefromfile | tee outfile
echo "> check answer"
if grep "REFUSED" outfile; then
echo "OK"
else
echo "Not OK"
exit 1
fi
# load local-data from file teststep "load local-data from file"
echo "$PRE/unbound-control -c ub.conf local_datas < local_data" control_command -c ub.conf local_datas < local_data
$PRE/unbound-control -c ub.conf local_datas < local_data expect_exit_value 0
if test $? -ne 0; then query -t txt localdatafromfile
echo "wrong exit value after success" expect_answer "local data from file OK"
exit 1
fi
echo "> dig localdatafromfile."
dig @127.0.0.1 -p $UNBOUND_PORT -t txt localdatafromfile | tee outfile
echo "> check answer"
if grep "local data from file OK" outfile; then
echo "OK"
else
echo "Not OK"
exit 1
fi
# remove local-zone and local-data from file teststep "remove local-zone and local-data from file"
echo "$PRE/unbound-control -c ub.conf local_zones_remove < local_zones_remove" control_command -c ub.conf local_zones_remove < local_zones_remove
$PRE/unbound-control -c ub.conf local_zones_remove < local_zones_remove expect_exit_value 0
if test $? -ne 0; then control_command -c ub.conf local_datas_remove < local_data_remove
echo "wrong exit value after success" expect_exit_value 0
exit 1 control_command -c ub.conf list_local_zones
fi fail_answer "localzonefromfile"
echo "$PRE/unbound-control -c ub.conf local_datas_remove < local_data_remove" fail_answer "local data from file OK"
$PRE/unbound-control -c ub.conf local_datas_remove < local_data_remove expect_answer "otherlocalzone"
if test $? -ne 0; then
echo "wrong exit value after success"
exit 1
fi
echo "> check zone and data removal list_local_zones"
$PRE/unbound-control -c ub.conf list_local_zones | tee outfile
if grep "localzonefromfile" outfile; then
echo "Not OK"
exit 1
fi
if grep "local data from file OK" outfile; then
echo "Not OK"
exit 1
fi
if grep "otherlocalzone" outfile; then
echo "OK"
else
echo "Not OK"
exit 1
fi
# flushing teststep "flushing"
echo "$PRE/unbound-control -c ub.conf flush www.example.net" control_command -c ub.conf flush www.example.net
$PRE/unbound-control -c ub.conf flush www.example.net expect_exit_value 0
if test $? -ne 0; then control_command -c ub.conf flush_type www.example.net TXT
echo "wrong exit value after success" expect_exit_value 0
exit 1 control_command -c ub.conf flush_zone example.net
fi expect_exit_value 0
echo "$PRE/unbound-control -c ub.conf flush_type www.example.net TXT" teststep "reload the server for a clean state and populate the cache"
$PRE/unbound-control -c ub.conf flush_type www.example.net TXT cp main.conf ub.conf
if test $? -ne 0; then control_command -c ub.conf reload
echo "wrong exit value after success" expect_exit_value 0
exit 1 query www.example.com
fi expect_answer "10.20.30.40"
echo "$PRE/unbound-control -c ub.conf flush_zone example.net" teststep "reload and check cache dump - should be empty"
$PRE/unbound-control -c ub.conf flush_zone example.net control_command -c ub.conf reload
if test $? -ne 0; then expect_exit_value 0
echo "wrong exit value after success" cache_dump -c ub.conf
exit 1 expect_exit_value 0
fi fail_in_cache_dump "www.example.com.*10.20.30.40"
fail_in_cache_dump "msg www.example.com. IN A"
# now stop the server query www.example.com
echo "$PRE/unbound-control -c ub.conf stop" expect_answer "10.20.30.40"
$PRE/unbound-control -c ub.conf stop
if test $? -ne 0; then teststep "reload_keep_cache and check cache dump - should not be empty"
echo "wrong exit value after success" control_command -c ub.conf reload_keep_cache
exit 1 expect_exit_value 0
fi cache_dump -c ub.conf
# see if the server has really exited. expect_exit_value 0
expect_in_cache_dump "www.example.com.*10.20.30.40"
expect_in_cache_dump "msg www.example.com. IN A"
query www.example.com +nordflag
expect_answer "10.20.30.40"
teststep "change msg-cache-size and reload_keep_cache - should be empty"
echo "server: msg-cache-size: 2m" >> ub.conf
control_command -c ub.conf reload_keep_cache
expect_exit_value 0
cache_dump -c ub.conf
expect_exit_value 0
fail_in_cache_dump "www.example.com.*10.20.30.40"
fail_in_cache_dump "msg www.example.com. IN A"
query www.example.com
expect_answer "10.20.30.40"
teststep "change rrset-cache-size and reload_keep_cache - should be empty"
echo "server: rrset-cache-size: 2m" >> ub.conf
control_command -c ub.conf reload_keep_cache
expect_exit_value 0
cache_dump -c ub.conf
expect_exit_value 0
fail_in_cache_dump "www.example.com.*10.20.30.40"
fail_in_cache_dump "msg www.example.com. IN A"
query www.example.com
expect_answer "10.20.30.40"
teststep "change num-threads and reload_keep_cache - should be empty"
echo "server: num-threads: 2" >> ub.conf
control_command -c ub.conf reload_keep_cache
expect_exit_value 0
cache_dump -c ub.conf
expect_exit_value 0
fail_in_cache_dump "www.example.com.*10.20.30.40"
fail_in_cache_dump "msg www.example.com. IN A"
query www.example.com
expect_answer "10.20.30.40"
teststep "change minimal-responses and reload_keep_cache - should not be empty"
echo "server: minimal-responses: no" >> ub.conf
control_command -c ub.conf reload_keep_cache
expect_exit_value 0
cache_dump -c ub.conf
expect_exit_value 0
expect_in_cache_dump "www.example.com.*10.20.30.40"
expect_in_cache_dump "msg www.example.com. IN A"
teststep "now stop the server"
control_command -c ub.conf stop
expect_exit_value 0
teststep "see if the server has really exited"
TRY_MAX=20 TRY_MAX=20
for (( try=0 ; try <= $TRY_MAX ; try++ )) ; do for (( try=0 ; try <= $TRY_MAX ; try++ )) ; do
if kill -0 $UNBOUND_PID 2>&1 | tee tmp.$$; then if kill -0 $UNBOUND_PID 2>&1 | tee tmp.$$; then
@ -379,11 +332,8 @@ for (( try=0 ; try <= $TRY_MAX ; try++ )) ; do
done done
if kill -0 $UNBOUND_PID; then if kill -0 $UNBOUND_PID; then
echo "still up!" echo "still up!"
echo "> cat logfiles"
cat fwd.log
cat unbound.log
echo "not stopped, failure" echo "not stopped, failure"
exit 1 end 1
else else
echo "stopped OK" echo "stopped OK"
@ -392,15 +342,9 @@ else
echo "lock-verify test worked." echo "lock-verify test worked."
else else
echo "lock-verify test failed." echo "lock-verify test failed."
cat fwd.log end 1
cat unbound.log
exit 1
fi fi
fi fi
fi fi
echo "> cat logfiles" end 0
cat fwd.log
cat unbound.log
echo "> OK"
exit 0

View file

@ -0,0 +1,5 @@
remote-control:
server-key-file: bad_server.key
server-cert-file: bad_server.pem
control-key-file: bad_control.key
control-cert-file: bad_control.pem

View file

@ -0,0 +1,5 @@
remote-control:
server-key-file: unbound_server.key
server-cert-file: unbound_server.pem
control-key-file: bad_control.key
control-cert-file: bad_control.pem

6
testdata/common.sh vendored
View file

@ -29,6 +29,7 @@
# wait_server_up_or_fail: wait for server to come up or print a failure string # wait_server_up_or_fail: wait for server to come up or print a failure string
# skip_test x : print message and skip test (must be called in .pre) # skip_test x : print message and skip test (must be called in .pre)
# kill_pid : kill a server, make sure and wait for it to go down. # kill_pid : kill a server, make sure and wait for it to go down.
# teststep : print the current test step in the output
# print error and exit # print error and exit
@ -272,3 +273,8 @@ set_doxygen_path () {
fi fi
} }
# Print the current test step in the output
teststep () {
echo
echo "STEP [ $1 ]"
}