From 06b0e00399596609601dcb1ff4f01a35ab01bf78 Mon Sep 17 00:00:00 2001 From: Remi Gacogne Date: Mon, 25 Feb 2019 15:54:58 +0100 Subject: [PATCH] dnsdist: Python 3 compat fixes for the regression tests --- regression-tests.dnsdist/test_Carbon.py | 4 ++-- regression-tests.dnsdist/test_DynBlocks.py | 6 +++++- regression-tests.dnsdist/test_EDNSOptions.py | 16 ++++++++-------- regression-tests.dnsdist/test_Protobuf.py | 6 +++--- regression-tests.dnsdist/test_TCPKeepAlive.py | 7 ++++++- regression-tests.dnsdist/test_TCPLimits.py | 12 +++++++++--- 6 files changed, 33 insertions(+), 18 deletions(-) diff --git a/regression-tests.dnsdist/test_Carbon.py b/regression-tests.dnsdist/test_Carbon.py index 1971ddd9e1..f075f4859e 100644 --- a/regression-tests.dnsdist/test_Carbon.py +++ b/regression-tests.dnsdist/test_Carbon.py @@ -137,7 +137,7 @@ class TestCarbon(DNSDistTest): for line in data1.splitlines(): if expectedStart in line: parts = line.split(b' ') - if 'servers-up' in line: + if b'servers-up' in line: self.assertEquals(len(parts), 3) self.assertTrue(parts[1].isdigit()) self.assertEquals(int(parts[1]), 2) @@ -160,7 +160,7 @@ class TestCarbon(DNSDistTest): for line in data2.splitlines(): if expectedStart in line: parts = line.split(b' ') - if 'servers-up' in line: + if b'servers-up' in line: self.assertEquals(len(parts), 3) self.assertTrue(parts[1].isdigit()) self.assertEquals(int(parts[1]), 2) diff --git a/regression-tests.dnsdist/test_DynBlocks.py b/regression-tests.dnsdist/test_DynBlocks.py index 4a4259420d..a5768b5fb8 100644 --- a/regression-tests.dnsdist/test_DynBlocks.py +++ b/regression-tests.dnsdist/test_DynBlocks.py @@ -4,7 +4,11 @@ import json import requests import time import dns -from dnsdisttests import DNSDistTest, range +from dnsdisttests import DNSDistTest +try: + range = xrange +except NameError: + pass class DynBlocksTest(DNSDistTest): diff --git a/regression-tests.dnsdist/test_EDNSOptions.py b/regression-tests.dnsdist/test_EDNSOptions.py index 1a730216d5..c6c7904135 100644 --- a/regression-tests.dnsdist/test_EDNSOptions.py +++ b/regression-tests.dnsdist/test_EDNSOptions.py @@ -105,7 +105,7 @@ class TestEDNSOptions(EDNSOptionsBase): EDNS Options: Cookie """ name = 'cookie.ednsoptions.tests.powerdns.com.' - eco = cookiesoption.CookiesOption('deadbeef', 'deadbeef') + eco = cookiesoption.CookiesOption(b'deadbeef', b'deadbeef') query = dns.message.make_query(name, 'A', 'IN', use_edns=True, payload=4096, options=[eco]) response = dns.message.make_response(query) rrset = dns.rrset.from_text(name, @@ -192,7 +192,7 @@ class TestEDNSOptions(EDNSOptionsBase): EDNS Options: Cookie + ECS6 """ name = 'cookie-ecs6.ednsoptions.tests.powerdns.com.' - eco = cookiesoption.CookiesOption('deadbeef', 'deadbeef') + eco = cookiesoption.CookiesOption(b'deadbeef', b'deadbeef') ecso = clientsubnetoption.ClientSubnetOption('2001:DB8::1', 128) query = dns.message.make_query(name, 'A', 'IN', use_edns=True, payload=4096, options=[ecso,eco]) response = dns.message.make_response(query) @@ -222,9 +222,9 @@ class TestEDNSOptions(EDNSOptionsBase): EDNS Options: Two Cookies + ECS6 """ name = 'multiplecookies-ecs6.ednsoptions.tests.powerdns.com.' - eco1 = cookiesoption.CookiesOption('deadbeef', 'deadbeef') + eco1 = cookiesoption.CookiesOption(b'deadbeef', b'deadbeef') ecso = clientsubnetoption.ClientSubnetOption('2001:DB8::1', 128) - eco2 = cookiesoption.CookiesOption('deadc0de', 'deadc0de') + eco2 = cookiesoption.CookiesOption(b'deadc0de', b'deadc0de') query = dns.message.make_query(name, 'A', 'IN', use_edns=True, payload=4096, options=[eco1, ecso, eco2]) response = dns.message.make_response(query) rrset = dns.rrset.from_text(name, @@ -294,7 +294,7 @@ class TestEDNSOptionsAddingECS(EDNSOptionsBase): EDNS Options: Cookie (adding ECS) """ name = 'cookie.ednsoptions-ecs.tests.powerdns.com.' - eco = cookiesoption.CookiesOption('deadbeef', 'deadbeef') + eco = cookiesoption.CookiesOption(b'deadbeef', b'deadbeef') query = dns.message.make_query(name, 'A', 'IN', use_edns=True, payload=4096, options=[eco]) ecso = clientsubnetoption.ClientSubnetOption('127.0.0.1', 24) expectedQuery = dns.message.make_query(name, 'A', 'IN', use_edns=True, options=[eco,ecso], payload=512) @@ -387,7 +387,7 @@ class TestEDNSOptionsAddingECS(EDNSOptionsBase): EDNS Options: Cookie + ECS6 (adding ECS) """ name = 'cookie-ecs6.ednsoptions-ecs.tests.powerdns.com.' - eco = cookiesoption.CookiesOption('deadbeef', 'deadbeef') + eco = cookiesoption.CookiesOption(b'deadbeef', b'deadbeef') ecso = clientsubnetoption.ClientSubnetOption('2001:DB8::1', 128) query = dns.message.make_query(name, 'A', 'IN', use_edns=True, payload=4096, options=[ecso,eco]) ecsoResponse = clientsubnetoption.ClientSubnetOption('2001:DB8::1', 128, scope=56) @@ -419,9 +419,9 @@ class TestEDNSOptionsAddingECS(EDNSOptionsBase): EDNS Options: Two Cookies + ECS6 """ name = 'multiplecookies-ecs6.ednsoptions.tests.powerdns.com.' - eco1 = cookiesoption.CookiesOption('deadbeef', 'deadbeef') + eco1 = cookiesoption.CookiesOption(b'deadbeef', b'deadbeef') ecso = clientsubnetoption.ClientSubnetOption('2001:DB8::1', 128) - eco2 = cookiesoption.CookiesOption('deadc0de', 'deadc0de') + eco2 = cookiesoption.CookiesOption(b'deadc0de', b'deadc0de') query = dns.message.make_query(name, 'A', 'IN', use_edns=True, payload=4096, options=[eco1, ecso, eco2]) response = dns.message.make_response(query) rrset = dns.rrset.from_text(name, diff --git a/regression-tests.dnsdist/test_Protobuf.py b/regression-tests.dnsdist/test_Protobuf.py index 11720cd392..d7bacbb632 100644 --- a/regression-tests.dnsdist/test_Protobuf.py +++ b/regression-tests.dnsdist/test_Protobuf.py @@ -80,7 +80,7 @@ class DNSDistProtobufTest(DNSDistTest): self.assertEquals(msg.id, query.id) self.assertTrue(msg.HasField('inBytes')) self.assertTrue(msg.HasField('serverIdentity')) - self.assertEquals(msg.serverIdentity, self._protobufServerID) + self.assertEquals(msg.serverIdentity, self._protobufServerID.encode('utf-8')) if normalQueryResponse: # compare inBytes with length of query/response @@ -292,7 +292,7 @@ class TestProtobuf(DNSDistProtobufTest): self.assertEquals(len(msg.response.rrs), 2) rr = msg.response.rrs[0] self.checkProtobufResponseRecord(rr, dns.rdataclass.IN, dns.rdatatype.CNAME, name, 3600) - self.assertEquals(rr.rdata, target) + self.assertEquals(rr.rdata.decode('utf-8'), target) rr = msg.response.rrs[1] self.checkProtobufResponseRecord(rr, dns.rdataclass.IN, dns.rdatatype.A, target, 3600) self.assertEquals(socket.inet_ntop(socket.AF_INET, rr.rdata), '127.0.0.1') @@ -320,7 +320,7 @@ class TestProtobuf(DNSDistProtobufTest): self.assertEquals(len(msg.response.rrs), 2) rr = msg.response.rrs[0] self.checkProtobufResponseRecord(rr, dns.rdataclass.IN, dns.rdatatype.CNAME, name, 3600) - self.assertEquals(rr.rdata, target) + self.assertEquals(rr.rdata.decode('utf-8'), target) rr = msg.response.rrs[1] self.checkProtobufResponseRecord(rr, dns.rdataclass.IN, dns.rdatatype.A, target, 3600) self.assertEquals(socket.inet_ntop(socket.AF_INET, rr.rdata), '127.0.0.1') diff --git a/regression-tests.dnsdist/test_TCPKeepAlive.py b/regression-tests.dnsdist/test_TCPKeepAlive.py index a1672e4941..b0aefbd5ec 100644 --- a/regression-tests.dnsdist/test_TCPKeepAlive.py +++ b/regression-tests.dnsdist/test_TCPKeepAlive.py @@ -2,7 +2,12 @@ import struct import time import dns -from dnsdisttests import DNSDistTest, range +from dnsdisttests import DNSDistTest + +try: + range = xrange +except NameError: + pass class TestTCPKeepAlive(DNSDistTest): """ diff --git a/regression-tests.dnsdist/test_TCPLimits.py b/regression-tests.dnsdist/test_TCPLimits.py index e67a152d37..7652347d0c 100644 --- a/regression-tests.dnsdist/test_TCPLimits.py +++ b/regression-tests.dnsdist/test_TCPLimits.py @@ -2,7 +2,12 @@ import struct import time import dns -from dnsdisttests import DNSDistTest, range +from dnsdisttests import DNSDistTest + +try: + range = xrange +except NameError: + pass class TestTCPLimits(DNSDistTest): @@ -106,9 +111,10 @@ class TestTCPLimits(DNSDistTest): # sleeping for only one second keeps us below the # idle timeout (setTCPRecvTimeout()) time.sleep(1) - conn.send('A') + conn.send(b'A') count = count + 1 - except: + except Exception as e: + print("Exception: %s!" % (e)) break end = time.time() -- 2.39.2