A test might finish "too early". In that case not all workers are
fully setup yet, and leak sanitizer crashes due to a stack out of
bounds.
One case fixed by introducing a sleep (for a test to see if the
dnstap queue is empty), and one actually querying an existing
out-of-band domain, which was enough for me to get all threads
properly setup. Previously it would check a domain and get
connnection refused, as this test does not setup auths at all.
The assumption is that that causes a "too fast exit" of rec.
import struct
import sys
import threading
+import time
import dns
import dnstap_pb2
from unittest import SkipTest
self.assertNotEqual(res, None)
# We don't expect anything
+ time.sleep(1)
self.assertTrue(DNSTapServerParameters.queue.empty())
class DNSTapLogNODTest(TestRecursorDNSTap):
return dnstap
def testA(self):
- name = 'www.example.org.'
+ name = 'types.example.'
query = dns.message.make_query(name, 'A', want_dnssec=True)
query.flags |= dns.flags.RD
res = self.sendUDPQuery(query)