From: Fred Morcos Date: Wed, 15 May 2024 11:27:06 +0000 (+0200) Subject: Auth: Adapt backend regression tests harness to Meson builds X-Git-Tag: rec-5.2.0-alpha0~23^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=71887e19b5a555e30004ed6b05ba5e3709a9a643;p=thirdparty%2Fpdns.git Auth: Adapt backend regression tests harness to Meson builds --- diff --git a/regression-tests/backends/bind-master b/regression-tests/backends/bind-master index 6fb6e5a1ff..2e89eb6739 100644 --- a/regression-tests/backends/bind-master +++ b/regression-tests/backends/bind-master @@ -1,13 +1,13 @@ case $context in bind) cat > pdns-bind.conf << __EOF__ -module-dir=./modules +module-dir=$PDNS_MESON_PATH/./modules launch=bind bind-config=./named.conf bind-ignore-broken-records=yes __EOF__ - $RUNWRAPPER $PDNS --daemon=no --local-address=$address --local-port=$port --config-dir=. \ + $RUNWRAPPER $PDNS --loglevel=7 --daemon=no --local-address=$address --local-port=$port --config-dir=. \ --config-name=bind --socket-dir=./ --no-shuffle \ --cache-ttl=$cachettl --dname-processing \ --disable-axfr-rectify=yes & @@ -18,7 +18,7 @@ __EOF__ bind-dnssec | bind-dnssec-nsec3 | bind-hybrid-nsec3 | bind-dnssec-nsec3-optout | bind-dnssec-nsec3-narrow) rm -f dnssec.sqlite3 cat > pdns-bind.conf << __EOF__ -module-dir=./modules +module-dir=$PDNS_MESON_PATH/./modules launch=bind bind-config=./named.conf bind-ignore-broken-records=yes @@ -103,7 +103,7 @@ __EOF__ skipreasons="nodyndns noalias nsec" fi - $RUNWRAPPER $PDNS --daemon=no --local-address=$address --local-port=$port --config-dir=. \ + $RUNWRAPPER $PDNS --loglevel=7 --daemon=no --local-address=$address --local-port=$port --config-dir=. \ --config-name=bind --socket-dir=./ --no-shuffle \ --cache-ttl=$cachettl --dname-processing \ --disable-axfr-rectify=yes $lua_prequery & diff --git a/regression-tests/backends/geoip-master b/regression-tests/backends/geoip-master index 2018929324..ad05c1dd25 100644 --- a/regression-tests/backends/geoip-master +++ b/regression-tests/backends/geoip-master @@ -132,12 +132,12 @@ EOF geoipdatabase=${geoipdatabase:-$testsdir/GeoLiteCity.dat} - $RUNWRAPPER $PDNS --daemon=no --local-address=$address --local-port=$port --socket-dir=./ \ + $RUNWRAPPER $PDNS --loglevel=7 --daemon=no --local-address=$address --local-port=$port --socket-dir=./ \ --no-shuffle --launch=geoip \ --cache-ttl=$cachettl --dname-processing --no-config \ --distributor-threads=1 \ --geoip-zones-file=$testsdir/geo.yaml --geoip-database-files="$geoipdatabase" \ - --module-dir=./modules --edns-subnet-processing=yes \ + --module-dir="$PDNS_MESON_PATH/./modules" --edns-subnet-processing=yes \ $geoipkeydir & ;; diff --git a/regression-tests/backends/gmysql-master b/regression-tests/backends/gmysql-master index 5b2ed60fc2..222795aa52 100644 --- a/regression-tests/backends/gmysql-master +++ b/regression-tests/backends/gmysql-master @@ -17,7 +17,7 @@ case $context in "$GMYSQLDB" cat > pdns-gmysql.conf << __EOF__ -module-dir=./modules +module-dir=$PDNS_MESON_PATH/./modules launch=gmysql gmysql-dbname=$GMYSQLDB gmysql-user=$GMYSQLUSER diff --git a/regression-tests/backends/godbc_mssql-master b/regression-tests/backends/godbc_mssql-master index 6ece162d97..75d87e7ce9 100644 --- a/regression-tests/backends/godbc_mssql-master +++ b/regression-tests/backends/godbc_mssql-master @@ -17,7 +17,7 @@ case $context in # actually terminates tosql gsqlite | grep -v -E '(COMMIT|TRANSACTION)' | awk '1;!(NR%98){print "go"}' | cat - <(echo go) /dev/null | $BSQLODBC cat > pdns-godbc_mssql.conf << __EOF__ -module-dir=./modules +module-dir=$PDNS_MESON_PATH/./modules launch=godbc godbc-datasource=$GODBC_MSSQL_DSN godbc-username=$GODBC_MSSQL_USERNAME diff --git a/regression-tests/backends/godbc_sqlite3-master b/regression-tests/backends/godbc_sqlite3-master index 0c6f3eab8a..dce76695a8 100644 --- a/regression-tests/backends/godbc_sqlite3-master +++ b/regression-tests/backends/godbc_sqlite3-master @@ -7,7 +7,7 @@ case $context in echo 'ANALYZE; PRAGMA journal_mode=WAL;' | sqlite3 pdns.sqlite3 cat > pdns-godbc_sqlite3.conf << __EOF__ -module-dir=./modules +module-dir=$PDNS_MESON_PATH/./modules launch=godbc godbc-datasource=$GODBC_SQLITE3_DSN diff --git a/regression-tests/backends/gpgsql-master b/regression-tests/backends/gpgsql-master index 4f2fa3ef05..3d252e9d96 100644 --- a/regression-tests/backends/gpgsql-master +++ b/regression-tests/backends/gpgsql-master @@ -12,7 +12,7 @@ case $context in psql --user="$GPGSQLUSER" -c "ANALYZE" "$GPGSQLDB" cat > pdns-gpgsql.conf << __EOF__ -module-dir=./modules +module-dir=$PDNS_MESON_PATH/./modules launch=gpgsql gpgsql-dbname=$GPGSQLDB gpgsql-user=$GPGSQLUSER diff --git a/regression-tests/backends/gsql-common b/regression-tests/backends/gsql-common index a1134d2311..3bce7d18ae 100644 --- a/regression-tests/backends/gsql-common +++ b/regression-tests/backends/gsql-common @@ -46,7 +46,7 @@ gsql_master() done - $RUNWRAPPER $PDNS --daemon=no --local-address=$address --local-port=$port --config-dir=. \ + $RUNWRAPPER $PDNS --loglevel=7 --daemon=no --local-address=$address --local-port=$port --config-dir=. \ --config-name=$backend --socket-dir=./ --no-shuffle \ --dnsupdate=yes --resolver=$RESOLVERIP --outgoing-axfr-expand-alias=yes \ --expand-alias=yes \ diff --git a/regression-tests/backends/gsqlite3-master b/regression-tests/backends/gsqlite3-master index b465e23a88..2eb433fcce 100644 --- a/regression-tests/backends/gsqlite3-master +++ b/regression-tests/backends/gsqlite3-master @@ -8,7 +8,7 @@ case $context in echo ANALYZE\; | sqlite3 pdns.sqlite3 cat > pdns-gsqlite3.conf << __EOF__ -module-dir=./modules +module-dir=$PDNS_MESON_PATH/./modules launch=gsqlite3 gsqlite3-database=pdns.sqlite3 consistent-backends diff --git a/regression-tests/backends/ldap-master b/regression-tests/backends/ldap-master index cb7047e2d4..9f53b4fb0f 100644 --- a/regression-tests/backends/ldap-master +++ b/regression-tests/backends/ldap-master @@ -17,7 +17,7 @@ __EOF__ $ZONE2LDAP --dnsttl=yes --basedn=$LDAPBASEDN --layout=$layout --named-conf=named.conf | ldapmodify -D $LDAPUSER -w $LDAPPASSWD -H $LDAPHOST -c > /dev/null || true cat > pdns-ldap.conf << __EOF__ -module-dir=./modules +module-dir=$PDNS_MESON_PATH/./modules launch=ldap ldap-basedn=$LDAPBASEDN ldap-binddn=$LDAPUSER @@ -26,7 +26,7 @@ ldap-method=$layout ldap-host=$LDAPHOST __EOF__ - $RUNWRAPPER $PDNS --daemon=no --local-address=$address --local-port=$port --config-dir=. \ + $RUNWRAPPER $PDNS --loglevel=7 --daemon=no --local-address=$address --local-port=$port --config-dir=. \ --config-name=ldap --socket-dir=./ --no-shuffle \ --query-logging --dnsupdate=yes \ --expand-alias=yes --outgoing-axfr-expand-alias=yes \ diff --git a/regression-tests/backends/lmdb-master b/regression-tests/backends/lmdb-master index c1bf9346b2..7703b61016 100644 --- a/regression-tests/backends/lmdb-master +++ b/regression-tests/backends/lmdb-master @@ -1,7 +1,7 @@ case $context in lmdb | lmdb-nodnssec | lmdb-nsec3 | lmdb-nsec3-optout | lmdb-nsec3-narrow) cat > pdns-lmdb.conf << __EOF__ -module-dir=./modules +module-dir=$PDNS_MESON_PATH/./modules launch=lmdb lmdb-filename=./pdns.lmdb lmdb-random-ids=yes @@ -68,7 +68,7 @@ __EOF__ $PDNSUTIL --config-dir=. --config-name=lmdb set-options-json tsig.com '{"producer":{"group":["pdns-group-x","pdns-group-y"]}}' fi - $RUNWRAPPER $PDNS --daemon=no --local-address=$address --local-port=$port --config-dir=. \ + $RUNWRAPPER $PDNS --loglevel=7 --daemon=no --local-address=$address --local-port=$port --config-dir=. \ --config-name=lmdb --socket-dir=./ --no-shuffle \ --dnsupdate=no \ --expand-alias=yes --resolver=$RESOLVERIP \ diff --git a/regression-tests/backends/lua2-master b/regression-tests/backends/lua2-master index 785a71c9de..4dd1ca63f4 100644 --- a/regression-tests/backends/lua2-master +++ b/regression-tests/backends/lua2-master @@ -23,14 +23,14 @@ case $context in # generate pdns.conf for pdnsutil cat > pdns-lua2.conf < pdns-remote.conf <56) { print " " substr(toupper($9),57) } else { print "" } } }' > $testsdir/list-all-records/expected_dnssec_part2 - cat $testsdir/list-all-records/expected_dnssec_part1 $testsdir/list-all-records/expected_dnssec_part2 $testsdir/list-all-records/expected_dnssec_part3 > $testsdir/list-all-records/expected_result.dnssec + cat $testsdir/list-all-records/expected_dnssec_part1 $testsdir/list-all-records/expected_dnssec_part2 $testsdir/list-all-records/expected_dnssec_part3 > $testsdir/list-all-records/expected_result.dnssec cp -f $testsdir/list-all-records/expected_result.dnssec $testsdir/list-all-records/expected_result.nsec3 fi - $RUNWRAPPER $PDNS --daemon=no --local-address=$address --local-port=$port --socket-dir=./ \ + $RUNWRAPPER $PDNS --loglevel=7 --daemon=no --local-address=$address --local-port=$port --socket-dir=./ \ --no-shuffle --launch=remote \ --cache-ttl=$cachettl --dname-processing --no-config \ --distributor-threads=1 \ --dnsupdate=yes --zone-cache-refresh-interval=0 \ - --remote-connection-string="$connstr" $remote_add_param --module-dir=./modules & + --remote-connection-string="$connstr" $remote_add_param --module-dir="$PDNS_MESON_PATH/./modules" & ;; *) diff --git a/regression-tests/backends/tinydns-master b/regression-tests/backends/tinydns-master index 3ebafbf74e..f3a5975778 100644 --- a/regression-tests/backends/tinydns-master +++ b/regression-tests/backends/tinydns-master @@ -1,10 +1,10 @@ case $context in tinydns) - $RUNWRAPPER $PDNS --daemon=no --local-address=$address --local-port=$port --socket-dir=./ \ + $RUNWRAPPER $PDNS --loglevel=7 --daemon=no --local-address=$address --local-port=$port --socket-dir=./ \ --no-shuffle --launch=tinydns \ --cache-ttl=$cachettl --dname-processing --no-config \ --dnsupdate=yes \ - --tinydns-dbfile=../modules/tinydnsbackend/data.cdb --module-dir=./modules & + --tinydns-dbfile=../modules/tinydnsbackend/data.cdb --module-dir="$PDNS_MESON_PATH/./modules" & skipreasons="nodnssec noent nodyndns nometa noaxfr noalias" ;; diff --git a/regression-tests/runtests b/regression-tests/runtests index 60c8844c0c..63bf592207 100755 --- a/regression-tests/runtests +++ b/regression-tests/runtests @@ -7,19 +7,37 @@ fi PATH=.:$PATH:/usr/sbin MAKE=${MAKE:-make} -export PDNS=${PDNS:-${PWD}/../pdns/pdns_server} -export PDNS2=${PDNS2:-${PWD}/../pdns/pdns_server} -export PDNSRECURSOR=${PDNSRECURSOR:-${PWD}/../pdns/recursordist/pdns_recursor} -export RECCONTROL=${RECCONTROL:-${PWD}/../pdns/recursordist/rec_control} -export SDIG=${SDIG:-${PWD}/../pdns/sdig} -export NOTIFY=${NOTIFY:-${PWD}/../pdns/pdns_notify} -export NSEC3DIG=${NSEC3DIG:-${PWD}/../pdns/nsec3dig} -export SAXFR=${SAXFR:-${PWD}/../pdns/saxfr} -export ZONE2SQL=${ZONE2SQL:-${PWD}/../pdns/zone2sql} -export ZONE2JSON=${ZONE2JSON:-${PWD}/../pdns/zone2json} -export ZONE2LDAP=${ZONE2LDAP:-${PWD}/../pdns/zone2ldap} -export PDNSUTIL=${PDNSUTIL:-${PWD}/../pdns/pdnsutil} -export PDNSCONTROL=${PDNSCONTROL:-${PWD}/../pdns/pdns_control} +if [ -z "$PDNS_MESON_PATH" ]; then + # PDNS_MESON_PATH is unset or empty. Assume an autotools build. + + export PDNS=${PDNS:-${PWD}/../pdns/pdns_server} + export PDNS2=${PDNS2:-${PWD}/../pdns/pdns_server} + export PDNSRECURSOR=${PDNSRECURSOR:-${PWD}/../pdns/recursordist/pdns_recursor} + export RECCONTROL=${RECCONTROL:-${PWD}/../pdns/recursordist/rec_control} + export SDIG=${SDIG:-${PWD}/../pdns/sdig} + export NOTIFY=${NOTIFY:-${PWD}/../pdns/pdns_notify} + export NSEC3DIG=${NSEC3DIG:-${PWD}/../pdns/nsec3dig} + export SAXFR=${SAXFR:-${PWD}/../pdns/saxfr} + export ZONE2SQL=${ZONE2SQL:-${PWD}/../pdns/zone2sql} + export ZONE2JSON=${ZONE2JSON:-${PWD}/../pdns/zone2json} + export ZONE2LDAP=${ZONE2LDAP:-${PWD}/../pdns/zone2ldap} + export PDNSUTIL=${PDNSUTIL:-${PWD}/../pdns/pdnsutil} + export PDNSCONTROL=${PDNSCONTROL:-${PWD}/../pdns/pdns_control} +else + export PDNS=${PDNS:-$PDNS_MESON_PATH/pdns-auth} + export PDNS2=${PDNS2:-$PDNS_MESON_PATH/pdns-auth} + export PDNSRECURSOR=${PDNSRECURSOR:-$PDNS_MESON_PATH/pdns/recursordist/pdns_recursor} + export RECCONTROL=${RECCONTROL:-$PDNS_MESON_PATH/pdns/recursordist/rec_control} + export SDIG=${SDIG:-$PDNS_MESON_PATH/sdig} + export NOTIFY=${NOTIFY:-$PDNS_MESON_PATH/pdns-auth-notify} + export NSEC3DIG=${NSEC3DIG:-$PDNS_MESON_PATH/nsec3dig} + export SAXFR=${SAXFR:-$PDNS_MESON_PATH/saxfr} + export ZONE2SQL=${ZONE2SQL:-$PDNS_MESON_PATH/pdns-zone2sql} + export ZONE2JSON=${ZONE2JSON:-$PDNS_MESON_PATH/pdns-zone2json} + export ZONE2LDAP=${ZONE2LDAP:-$PDNS_MESON_PATH/pdns-zone2ldap} + export PDNSUTIL=${PDNSUTIL:-$PDNS_MESON_PATH/pdns-auth-util} + export PDNSCONTROL=${PDNSCONTROL:-$PDNS_MESON_PATH/pdns-auth-control} +fi unset _JAVA_OPTIONS @@ -45,7 +63,7 @@ skipped=0 touch passed_tests failed_tests skipped_tests -for a in $(find $testsdir -type d | grep -v ^.$ | grep -v .svn | grep -v ^confdir | LC_ALL=C sort) +for a in $(find $testsdir -type d | grep -v ^.$ | grep -v .svn | grep -v ^confdir | LC_ALL=C sort) do if [ ! -x $a/command ] then @@ -60,9 +78,9 @@ do echo "$testname: " >> test-results cat $a/description >> test-results - + SKIPIT=0 - if [ -e $a/skip ] + if [ -e $a/skip ] then SKIPIT=1 result=" Skipped test $a" @@ -94,7 +112,7 @@ do result=" Skipped test $a because it's not the specified single test" fi - + if [ $SKIPIT = 1 ] then echo $testname >> skipped_tests @@ -115,7 +133,7 @@ do done [ -n "$context" ] && [ -e "$a/expected_result.$context" ] && expected=$a/expected_result.$context diff ${diffopts} $expected $a/real_result > $a/diff 2>&1 - if [ -s $a/diff ] + if [ -s $a/diff ] then if [ $FAIL = 0 ] then @@ -144,7 +162,7 @@ do failed=$[$failed+1] fi fi - fi + fi echo "$result" echo echo "$result" >> test-results diff --git a/regression-tests/start-test-stop b/regression-tests/start-test-stop index fa7f16e419..d032b72558 100755 --- a/regression-tests/start-test-stop +++ b/regression-tests/start-test-stop @@ -4,22 +4,41 @@ if [ "${PDNS_DEBUG}" = "YES" ]; then set -x fi -export PDNS=${PDNS:-${PWD}/../pdns/pdns_server} -export PDNS2=${PDNS2:-${PWD}/../pdns/pdns_server} -export PDNSRECURSOR=${PDNSRECURSOR:-${PWD}/../pdns/recursordist/pdns_recursor} -export RECCONTROL=${RECCONTROL:-${PWD}/../pdns/recursordist/rec_control} -export SDIG=${SDIG:-${PWD}/../pdns/sdig} -export NOTIFY=${NOTIFY:-${PWD}/../pdns/pdns_notify} -export NSEC3DIG=${NSEC3DIG:-${PWD}/../pdns/nsec3dig} -export SAXFR=${SAXFR:-${PWD}/../pdns/saxfr} -export ZONE2SQL=${ZONE2SQL:-${PWD}/../pdns/zone2sql} -export ZONE2LDAP=${ZONE2LDAP:-${PWD}/../pdns/zone2ldap} -export PDNSUTIL=${PDNSUTIL:-${PWD}/../pdns/pdnsutil} -export PDNSCONTROL=${PDNSCONTROL:-${PWD}/../pdns/pdns_control} +if [ -z "$PDNS_MESON_PATH" ]; then + # PDNS_MESON_PATH is unset or empty. Assume an autotools build. + + export PDNS=${PDNS:-${PWD}/../pdns/pdns_server} + export PDNS2=${PDNS2:-${PWD}/../pdns/pdns_server} + export PDNSRECURSOR=${PDNSRECURSOR:-${PWD}/../pdns/recursordist/pdns_recursor} + export RECCONTROL=${RECCONTROL:-${PWD}/../pdns/recursordist/rec_control} + export SDIG=${SDIG:-${PWD}/../pdns/sdig} + export NOTIFY=${NOTIFY:-${PWD}/../pdns/pdns_notify} + export NSEC3DIG=${NSEC3DIG:-${PWD}/../pdns/nsec3dig} + export SAXFR=${SAXFR:-${PWD}/../pdns/saxfr} + export ZONE2SQL=${ZONE2SQL:-${PWD}/../pdns/zone2sql} + export ZONE2LDAP=${ZONE2LDAP:-${PWD}/../pdns/zone2ldap} + export ZONE2JSON=${ZONE2JSON:-${PWD}/../pdns/zone2json} + export PDNSUTIL=${PDNSUTIL:-${PWD}/../pdns/pdnsutil} + export PDNSCONTROL=${PDNSCONTROL:-${PWD}/../pdns/pdns_control} +else + export PDNS=${PDNS:-$PDNS_MESON_PATH/pdns-auth} + export PDNS2=${PDNS2:-$PDNS_MESON_PATH/pdns-auth} + export PDNSRECURSOR=${PDNSRECURSOR:-$PDNS_MESON_PATH/pdns/recursordist/pdns_recursor} + export RECCONTROL=${RECCONTROL:-$PDNS_MESON_PATH/pdns/recursordist/rec_control} + export SDIG=${SDIG:-$PDNS_MESON_PATH/sdig} + export NOTIFY=${NOTIFY:-$PDNS_MESON_PATH/pdns-auth-notify} + export NSEC3DIG=${NSEC3DIG:-$PDNS_MESON_PATH/nsec3dig} + export SAXFR=${SAXFR:-$PDNS_MESON_PATH/saxfr} + export ZONE2SQL=${ZONE2SQL:-$PDNS_MESON_PATH/pdns-zone2sql} + export ZONE2JSON=${ZONE2JSON:-$PDNS_MESON_PATH/pdns-zone2json} + export ZONE2LDAP=${ZONE2LDAP:-$PDNS_MESON_PATH/pdns-zone2ldap} + export PDNSUTIL=${PDNSUTIL:-$PDNS_MESON_PATH/pdns-auth-util} + export PDNSCONTROL=${PDNSCONTROL:-$PDNS_MESON_PATH/pdns-auth-control} +fi + export RESOLVERIP=${RESOLVERIP:-8.8.8.8} export FIX_TESTS=${FIX_TESTS:-NO} - ALGORITHM=${ALGORITHM:="hmac-md5"} KEY=${KEY:="kp4/24gyYsEzbuTVJRUMoqGFmN3LYgVDzJ/3oRSP7ys="}