]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
rec: Fix a 'prime root NS' race in the protobuf tests 10057/head
authorRemi Gacogne <remi.gacogne@powerdns.com>
Mon, 8 Mar 2021 13:49:07 +0000 (14:49 +0100)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Mon, 8 Mar 2021 13:49:07 +0000 (14:49 +0100)
regression-tests.recursor-dnssec/test_Protobuf.py

index d22a4d3b300d7252ea5c34d06c28157401a7140f..16fbd26bda9f4d3e785217b9abeec122896613bc 100644 (file)
@@ -267,6 +267,9 @@ class TestRecursorProtobuf(RecursorTest):
         for param in protobufServersParameters:
             while not param.queue.empty():
                 param.queue.get(False)
+        # wait long enough to be sure that the housekeeping has
+        # prime the root NS
+        time.sleep(1)
 
     @classmethod
     def generateRecursorConfig(cls, confdir):
@@ -370,9 +373,11 @@ class OutgoingProtobufDefaultTest(TestRecursorProtobuf):
     def testA(self):
         name = 'host1.secure.example.'
         expected = list()
+
+        # the root DNSKEY has been learned with priming the root NS already
+        # ('.', dns.rdatatype.DNSKEY, dnsmessage_pb2.PBDNSMessage.UDP, 201),
         for qname, qtype, proto, responseSize in [
                 ('host1.secure.example.', dns.rdatatype.A, dnsmessage_pb2.PBDNSMessage.UDP, 248),
-                ('.', dns.rdatatype.DNSKEY, dnsmessage_pb2.PBDNSMessage.UDP, 201),
                 ('host1.secure.example.', dns.rdatatype.A, dnsmessage_pb2.PBDNSMessage.UDP, 221),
                 ('example.', dns.rdatatype.DNSKEY, dnsmessage_pb2.PBDNSMessage.UDP, 219),
                 ('host1.secure.example.', dns.rdatatype.A, dnsmessage_pb2.PBDNSMessage.UDP, 175),
@@ -387,7 +392,6 @@ class OutgoingProtobufDefaultTest(TestRecursorProtobuf):
                 qname, qtype, query, resp, proto, responseSize
             ))
 
-        # expected = dns.rrset.from_text(name, 0, dns.rdataclass.IN, 'A', '192.0.2.42')
         query = dns.message.make_query(name, 'A', want_dnssec=True)
         query.flags |= dns.flags.RD
         res = self.sendUDPQuery(query)
@@ -426,9 +430,10 @@ class OutgoingProtobufNoQueriesTest(TestRecursorProtobuf):
     def testA(self):
         name = 'host1.secure.example.'
         expected = list()
+        # the root DNSKEY has been learned with priming the root NS already
+        # ('.', dns.rdatatype.DNSKEY, dnsmessage_pb2.PBDNSMessage.UDP, 201),
         for qname, qtype, proto, size in [
                 ('host1.secure.example.', dns.rdatatype.A, dnsmessage_pb2.PBDNSMessage.UDP, 248),
-                ('.', dns.rdatatype.DNSKEY, dnsmessage_pb2.PBDNSMessage.UDP, 201),
                 ('host1.secure.example.', dns.rdatatype.A, dnsmessage_pb2.PBDNSMessage.UDP, 221),
                 ('example.', dns.rdatatype.DNSKEY, dnsmessage_pb2.PBDNSMessage.UDP, 219),
                 ('host1.secure.example.', dns.rdatatype.A, dnsmessage_pb2.PBDNSMessage.UDP, 175),