import dns
from dnsdisttests import DNSDistTest
+try:
+ range = xrange
+except NameError:
+ pass
+
class TestTCPLimits(DNSDistTest):
+ # this test suite uses a different responder port
+ # because it uses a different health check configuration
+ _testServerPort = 5395
+ _answerUnexpected = True
+
_tcpIdleTimeout = 2
_maxTCPQueriesPerConn = 5
_maxTCPConnsPerClient = 3
conn = self.openTCPConnection()
count = 0
- for idx in xrange(self._maxTCPQueriesPerConn):
+ for idx in range(self._maxTCPQueriesPerConn):
try:
self.sendTCPQueryOverConnection(conn, query)
response = self.recvTCPResponseOverConnection(conn)
query = dns.message.make_query(name, 'A', 'IN')
conns = []
- for idx in xrange(self._maxTCPConnsPerClient + 1):
+ for idx in range(self._maxTCPConnsPerClient + 1):
conns.append(self.openTCPConnection())
count = 0
conn.send(struct.pack("!H", 65535))
count = 0
- while count < (self._maxTCPConnDuration * 2):
+ while count < (self._maxTCPConnDuration * 20):
try:
# sleeping for only one second keeps us below the
# idle timeout (setTCPRecvTimeout())
- time.sleep(1)
- conn.send('A')
+ time.sleep(0.1)
+ conn.send(b'A')
count = count + 1
- except:
+ except Exception as e:
+ print("Exception: %s!" % (e))
break
end = time.time()
- self.assertAlmostEquals(count, self._maxTCPConnDuration, delta=2)
+ self.assertAlmostEquals(count / 10, self._maxTCPConnDuration, delta=2)
self.assertAlmostEquals(end - start, self._maxTCPConnDuration, delta=2)
conn.close()