From: Miod Vallat Date: Thu, 3 Jul 2025 14:29:03 +0000 (+0200) Subject: Add some (limited) zone variant awareness. X-Git-Tag: rec-5.4.0-alpha0~34^2~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4b5cd91c78a16a2e81cfa8ee872a3d533a2a8987;p=thirdparty%2Fpdns.git Add some (limited) zone variant awareness. Signed-off-by: Miod Vallat --- diff --git a/regression-tests/mysqldiff b/regression-tests/mysqldiff index a51de96d0b..55f0a92fbf 100755 --- a/regression-tests/mysqldiff +++ b/regression-tests/mysqldiff @@ -19,17 +19,26 @@ else SORT=sort fi +plusvariant='' +_context=${context%-variant} +if [ $context != $_context ] +then + plusvariant='..variant' +fi +zone=test.dyndns +zonewithvariant=$zone$plusvariant + case $backend in gmysql) if [ "${context: -9}" = "-nodnssec" ] then mysql --user="$GMYSQLUSER" --password="$GMYSQLPASSWD" --host="$GMYSQLHOST" \ "$GMYSQLDB" \ - -e "SELECT r.name, r.type, r.prio, r.content, r.ttl FROM domains d JOIN records r ON d.id=r.domain_id WHERE d.name='test.dyndns' AND(r.type != 'SOA' OR r.type IS NULL) ORDER BY r.name, r.type, r.content, r.ttl, r.prio" > ${testsdir}/${testname}/$step + -e "SELECT r.name, r.type, r.prio, r.content, r.ttl FROM domains d JOIN records r ON d.id=r.domain_id WHERE d.name='$zonewithvariant' AND(r.type != 'SOA' OR r.type IS NULL) ORDER BY r.name, r.type, r.content, r.ttl, r.prio" > ${testsdir}/${testname}/$step else mysql --user="$GMYSQLUSER" --password="$GMYSQLPASSWD" --host="$GMYSQLHOST" \ "$GMYSQLDB" \ - -e "SELECT r.name, r.type, r.prio, r.content, r.ttl, CONCAT('''', CONCAT(r.ordername, '''')), r.auth FROM domains d JOIN records r ON d.id=r.domain_id WHERE d.name='test.dyndns' AND(r.type != 'SOA' OR r.type IS NULL) ORDER BY r.name, r.type, r.content, r.ttl, r.prio" > ${testsdir}/${testname}/$step + -e "SELECT r.name, r.type, r.prio, r.content, r.ttl, CONCAT('''', CONCAT(r.ordername, '''')), r.auth FROM domains d JOIN records r ON d.id=r.domain_id WHERE d.name='$zonewithvariant' AND(r.type != 'SOA' OR r.type IS NULL) ORDER BY r.name, r.type, r.content, r.ttl, r.prio" > ${testsdir}/${testname}/$step fi ;; *) @@ -38,7 +47,7 @@ gmysql) # Maybe we should add a pdnsutil backend-cmd to retrieve these results in # same format as the mysql query... $PDNSUTIL --config-dir=. --config-name=$backend \ - list-zone test.dyndns | grep -vwF SOA | \ + list-zone $zonewithvariant | grep -vwF SOA | \ $SORT > ${testsdir}/${testname}/$step ;; esac diff --git a/regression-tests/tests/5dyndns-restore-zone/command b/regression-tests/tests/5dyndns-restore-zone/command index 087cd6d032..54989fe523 100755 --- a/regression-tests/tests/5dyndns-restore-zone/command +++ b/regression-tests/tests/5dyndns-restore-zone/command @@ -1,8 +1,16 @@ #!/usr/bin/env bash +plusvariant='' +_context=${context%-variant} +if [ $context != $_context ] +then + plusvariant='..variant' +fi + for zone in test.dyndns sub.test.dyndns do + zonewithvariant=${zone}${plusvariant} $PDNSUTIL --config-dir=. --config-name=$backend \ - replace-rrset ${zone} @ SOA "ns1.test.dyndns ahu.example.dyndns 2012060701 28800 7200 604800 86400" \ + replace-rrset ${zonewithvariant} @ SOA "ns1.test.dyndns ahu.example.dyndns 2012060701 28800 7200 604800 86400" \ > /dev/null done diff --git a/regression-tests/tests/pdnsutil-increase-serial-inception-epoch/command b/regression-tests/tests/pdnsutil-increase-serial-inception-epoch/command index b45d5c0390..ef2cee0154 100755 --- a/regression-tests/tests/pdnsutil-increase-serial-inception-epoch/command +++ b/regression-tests/tests/pdnsutil-increase-serial-inception-epoch/command @@ -1,19 +1,29 @@ #!/usr/bin/env bash +plusvariant='' +_context=${context%-variant} +if [ $context != $_context ] +then + plusvariant='..variant' +fi + +zone=test.dyndns +zonewithvariant=${zone}${plusvariant} + NOW=$(date +%s) # lower SOA so that the test makes sense $PDNSUTIL --config-dir=. --config-name=$backend \ - replace-rrset test.dyndns @ SOA "ns1.test.dyndns ahu.example.dyndns 10 28800 7200 604800 86400" \ + replace-rrset ${zonewithvariant} @ SOA "ns1.${zone} ahu.example.dyndns 10 28800 7200 604800 86400" \ > /dev/null -$PDNSUTIL --config-dir=. --config-name=$backend list-zone test.dyndns | grep SOA +$PDNSUTIL --config-dir=. --config-name=$backend list-zone ${zonewithvariant} | grep SOA -$PDNSUTIL --config-dir=. --config-name=$backend set-meta test.dyndns SOA-EDIT INCEPTION-EPOCH +$PDNSUTIL --config-dir=. --config-name=$backend set-meta ${zonewithvariant} SOA-EDIT INCEPTION-EPOCH -$PDNSUTIL --config-dir=. --config-name=$backend increase-serial test.dyndns > /dev/null +$PDNSUTIL --config-dir=. --config-name=$backend increase-serial ${zonewithvariant} > /dev/null -NEWSERIAL=$($PDNSUTIL --config-dir=. --config-name=$backend list-zone test.dyndns | grep SOA | awk '{print $7}') +NEWSERIAL=$($PDNSUTIL --config-dir=. --config-name=$backend list-zone ${zonewithvariant} | grep SOA | awk '{print $7}') NOWPLUSTEN=$((NOW + 10)) @@ -25,9 +35,9 @@ else fi # remove meta -$PDNSUTIL --config-dir=. --config-name=$backend set-meta test.dyndns SOA-EDIT +$PDNSUTIL --config-dir=. --config-name=$backend set-meta ${zonewithvariant} SOA-EDIT # restore old SOA $PDNSUTIL --config-dir=. --config-name=$backend \ - replace-rrset test.dyndns @ SOA "ns1.test.dyndns ahu.example.dyndns 2012060701 28800 7200 604800 86400" \ + replace-rrset ${zonewithvariant} @ SOA "ns1.${zone} ahu.example.dyndns 2012060701 28800 7200 604800 86400" \ > /dev/null diff --git a/regression-tests/tests/pdnsutil-increase-serial/command b/regression-tests/tests/pdnsutil-increase-serial/command index 7814457e33..560906a029 100755 --- a/regression-tests/tests/pdnsutil-increase-serial/command +++ b/regression-tests/tests/pdnsutil-increase-serial/command @@ -1,12 +1,22 @@ #!/bin/sh +plusvariant='' +_context=${context%-variant} +if [ $context != $_context ] +then + plusvariant='..variant' +fi + +zone=test.dyndns +zonewithvariant=${zone}${plusvariant} + mysqldiff -$PDNSUTIL --config-dir=. --config-name=$backend increase-serial test.dyndns +$PDNSUTIL --config-dir=. --config-name=$backend increase-serial ${zonewithvariant} -mysqldiff 1 "Check that test.dyndns. still has a valid ordername" +mysqldiff 1 "Check that ${zonewithvariant}. still has a valid ordername" # restore old SOA $PDNSUTIL --config-dir=. --config-name=$backend \ - replace-rrset test.dyndns @ SOA "ns1.test.dyndns ahu.example.dyndns 2012060701 28800 7200 604800 86400" \ + replace-rrset ${zonewithvariant} @ SOA "ns1.${zone} ahu.example.dyndns 2012060701 28800 7200 604800 86400" \ > /dev/null