import dns
import requests
import socket
+import time
from recursortests import RecursorTest
class RootNXTrustRecursorTest(RecursorTest):
return 0
+ # Recursor can still be busy resolving root hints, so wait a bit until
+ # getOutgoingQueriesCount() stabilizes.
+ # Code below is inherently racey, but better than a fixed sleep
+ def waitForOutgoingToStabilize(self):
+ for count in range(20):
+ outgoing1 = self.getOutgoingQueriesCount();
+ time.sleep(0.1);
+ outgoing2 = self.getOutgoingQueriesCount();
+ if outgoing1 == outgoing2:
+ break
+
class testRootNXTrustDisabled(RootNXTrustRecursorTest):
_confdir = 'RootNXTrustDisabled'
_wsPort = 8042
after receiving a NXD from "." for nx-example. as an answer for www.nx-example.
"""
- # first query nx.example.
+ self.waitForOutgoingToStabilize()
+ # First query nx.example.
before = self.getOutgoingQueriesCount()
query = dns.message.make_query('www.nx-example.', 'A')
res = self.sendUDPQuery(query)
after receiving a NXD from "." for nx-example. as an answer for www.nx-example.
"""
+ self.waitForOutgoingToStabilize()
# first query nx.example.
before = self.getOutgoingQueriesCount()
query = dns.message.make_query('www.nx-example.', 'A')