]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
- Fix for uncertain unit test for doh buffer size events.
authorW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Mon, 12 Jun 2023 10:39:00 +0000 (12:39 +0200)
committerW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Mon, 12 Jun 2023 10:39:00 +0000 (12:39 +0200)
doc/Changelog
testdata/doh_downstream_buffer_size.tdir/doh_downstream_buffer_size.test

index e6d323e84470734e3d36f36b02e840ff1cd11916..7b3b65bb9517aba0db13f016e6ec4e308faccc50 100644 (file)
@@ -3,6 +3,7 @@
          directories to sys.path.
        - Fix #895: python + sysconfig gives ANOTHER path comparing to
          distutils.
+       - Fix for uncertain unit test for doh buffer size events.
 
 25 May 2023: Wouter
        - Fix unbound-dnstap-socket printout when no query is present.
index bbeb9eb2b65faf6b72cada075e24e4548c46d8ee..45bde6564b2e7d126fb876a9cc32f76a8e6dd228 100644 (file)
@@ -23,15 +23,26 @@ if test "$?" -ne 0; then
 fi
 num=$(grep "ANSWER SEC" outfile | wc -l)
 # 58 byte answers, 500 byte max response buffer -> 8 answers
+
+# Sometimes unbound is scheduled to be able to respond very quickly,
+# before all the queries are sent, and then writes some of the queries
+# back already, emptying the buffer, which then does not overflow.
+# The attempt is to detect this test flakyness with 'mode w' write lines.
+nummodew=$(grep "mode w" unbound.log | wc -l)
+echo "num answers $num and num write events $nummodew"
 if [ $num -eq 8 ]; then
        echo "content OK"
 else
+    if [ "(" $num -eq 9 -o $num -eq 10 ")" -a $nummodew -eq 2 ]; then
+       echo "skip buffer emptied event"
+    else
        echo "result contents not OK"
        echo "> cat logfiles"
        cat outfile
        cat unbound.log
        echo "result contents not OK"
        exit 1
+    fi
 fi
 echo "OK"