]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
add a test for large map files
authorEvan Hunt <each@isc.org>
Tue, 24 Aug 2021 20:10:13 +0000 (13:10 -0700)
committerEvan Hunt <each@isc.org>
Wed, 1 Sep 2021 15:01:27 +0000 (08:01 -0700)
- a test has been added to 'masterformat', but disabled by default,
  because it takes several minutes to run and uses a lot of disk.

bin/tests/system/masterformat/clean.sh
bin/tests/system/masterformat/tests.sh
bin/tests/system/run.sh.in

index 80289e9267d872d1604e6c25f7b6dc548b366fe4..82502fc4302bcb9cb1b5bf24b8df0a80215229eb 100755 (executable)
@@ -26,7 +26,7 @@ rm -f ./ns2/formerly-text.db
 rm -f ./ns2/db-*
 rm -f ./ns2/large.bk
 rm -f ./ns3/example.db.map ./ns3/dynamic.db.map
-rm -f ./baseline.txt ./text.1 ./text.2 ./raw.1 ./raw.2 ./map.1 ./map.2 ./map.5 ./text.5 ./badmap
+rm -f ./baseline.txt ./text.* ./raw.* ./map.* ./badmap
 rm -f ./ns1/Ksigned.* ./ns1/dsset-signed. ./ns1/signed.db.signed
 rm -f ./rndc.out
 rm -f ./ns*/named.lock
index d17f4983b55172747a3c0f31f24d101ae3fe09ac..6a0453e1853b20722361650254e4d7bd0ddb3f1b 100755 (executable)
@@ -330,5 +330,22 @@ n=$((n+1))
 [ $ret -eq 0 ] || echo_i "failed"
 status=$((status+ret))
 
+# The following test is disabled by default because it is very slow.
+if [ -n "${TEST_LARGE_MAP}" ]; then
+    echo_i "checking map file size > 2GB can be loaded ($n)"
+    ret=0
+    $PERL ../../startperf/mkzonefile.pl test 9000000 > text.$n
+    # convert to map
+    $CHECKZONE -D -f text -F map -o map.$n test text.$n > /dev/null || ret=1
+    # check map file size is over 2GB to ensure the test is valid
+    size=$(ls -l map.$n | awk '{print $5}')
+    [ "$size" -gt 2147483648 ] || ret=1
+    # convert back to text
+    $CHECKZONE -f map test map.$n > /dev/null || ret=1
+    n=$((n+1))
+    [ $ret -eq 0 ] || echo_i "failed"
+    status=$((status+ret))
+fi
+
 echo_i "exit status: $status"
 [ $status -eq 0 ] || exit 1
index b4d14cd8cf323c26a895255978edfad52215cdb7..bd4c38e8439ef5ae6052f2d78ade45425d3bebe3 100644 (file)
@@ -72,7 +72,7 @@ if ! $do_run; then
     if [ "$baseport" -eq 0 ]; then
         log_flags="$log_flags -p 5300"
     fi
-    env - CYGWIN="$CYGWIN" SYSTEMTEST_FORCE_COLOR="$SYSTEMTEST_FORCE_COLOR" SYSTEMTEST_NO_CLEAN="$SYSTEMTEST_NO_CLEAN" SLOT="$SLOT" SOFTHSM2_CONF="$SOFTHSM2_CONF" PATH="$PATH" ${LD_LIBRARY_PATH:+"LD_LIBRARY_PATH=${LD_LIBRARY_PATH}"} TESTS="$*" TEST_SUITE_LOG=run.log LOG_DRIVER_FLAGS="--verbose yes --color-tests yes" LOG_FLAGS="$log_flags" make -e check
+    env - CYGWIN="$CYGWIN" SYSTEMTEST_FORCE_COLOR="$SYSTEMTEST_FORCE_COLOR" SYSTEMTEST_NO_CLEAN="$SYSTEMTEST_NO_CLEAN" SLOT="$SLOT" SOFTHSM2_CONF="$SOFTHSM2_CONF" PATH="$PATH" ${LD_LIBRARY_PATH:+"LD_LIBRARY_PATH=${LD_LIBRARY_PATH}"} TESTS="$*" TEST_SUITE_LOG=run.log LOG_DRIVER_FLAGS="--verbose yes --color-tests yes" LOG_FLAGS="$log_flags" TEST_LARGE_MAP="${TEST_LARGE_MAP}" make -e check
     exit $?
 fi