From b9c5b37e0c60e7b3cff36a28770396ebcbf23b5b Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Wed, 24 May 2017 21:40:41 +1000 Subject: [PATCH] make chain system test work with python 3 --- bin/tests/system/chain/ans4/ans.py | 25 ++++++++++++------------- bin/tests/system/chain/tests.sh | 4 ++-- 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/bin/tests/system/chain/ans4/ans.py b/bin/tests/system/chain/ans4/ans.py index 491e9a5fd1..80c519c382 100755 --- a/bin/tests/system/chain/ans4/ans.py +++ b/bin/tests/system/chain/ans4/ans.py @@ -17,6 +17,7 @@ import signal import socket import select from datetime import datetime, timedelta +import functools import dns, dns.message, dns.query from dns.rdatatype import * @@ -71,12 +72,12 @@ def ctl_channel(msg): msg = msg.splitlines().pop(0) print ('received control message: %s' % msg) - msg = msg.split('|') + msg = msg.split(b'|') if len(msg) == 0: return - actions = [x.strip() for x in msg[0].split(',')] - n = reduce(lambda n,act: (n + (2 if act == 'dname' else 1)), [0] + actions) + actions = [x.strip() for x in msg[0].split(b',')] + n = functools.reduce(lambda n, act: (n + (2 if act == b'dname' else 1)), [0] + actions) if len(msg) == 1: rrs = [] @@ -85,10 +86,10 @@ def ctl_channel(msg): rrs.append((i, b)) return - rlist = [x.strip() for x in msg[1].split(',')] + rlist = [x.strip() for x in msg[1].split(b',')] rrs = [] for item in rlist: - if item[0] == 's': + if item[0] == b's'[0]: i = int(item[1:].strip()) - 1 if i > n: print ('invalid index %d' + (i + 1)) @@ -161,9 +162,9 @@ def create_response(msg): i = 0 for action in actions: - if name <> 'test': + if name != 'test': continue - if action == 'xname': + if action == b'xname': owner = curname + '.' + curdom newname = 'cname%d' % i i += 1 @@ -180,7 +181,7 @@ def create_response(msg): curdom = newdom continue - if action == 'cname': + if action == b'cname': owner = curname + '.' + curdom newname = 'cname%d' % i target = newname + '.' + curdom @@ -194,7 +195,7 @@ def create_response(msg): curname = newname continue - if action == 'dname': + if action == b'dname': owner = curdom newdom = 'domain%d.%s' % (i, tld) i += 1 @@ -225,7 +226,7 @@ def create_response(msg): # prepare the response and convert to wire format r = dns.message.make_response(m) - if name <> 'test': + if name != 'test': r.answer.append(answers[-1]) if wantsigs: r.answer.append(sigs[-1]) @@ -254,6 +255,7 @@ def sigterm(signum, frame): print ("Shutting down now...") os.remove('ans.pid') running = 0 + sys.exit(0) ############################################################################ # Main @@ -277,9 +279,6 @@ ctrl_socket.listen(5) signal.signal(signal.SIGTERM, sigterm) -# Unbuffered ouput ensures we can always check current status in ans.run. -sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0) - f = open('ans.pid', 'w') pid = os.getpid() print (pid, file=f) diff --git a/bin/tests/system/chain/tests.sh b/bin/tests/system/chain/tests.sh index 04f4b532b7..8577d9624b 100644 --- a/bin/tests/system/chain/tests.sh +++ b/bin/tests/system/chain/tests.sh @@ -138,7 +138,7 @@ grep "ANSWER: 2" dig.out.test$n > /dev/null || ret=1 if [ $ret != 0 ]; then echo "I:failed"; fi status=`expr $status + $ret` -t=`expr $t + 1` +n=`expr $n + 1` echo "I:checking CNAME to signed external delgation is handled ($n)" ret=0 $DIG $DIGOPTS @10.53.0.7 -p 5300 c.example > dig.out.$n @@ -146,7 +146,7 @@ grep "status: NOERROR" dig.out.$n > /dev/null || ret=1 if [ $ret != 0 ]; then echo "I: failed"; fi status=`expr $status + $ret` -t=`expr $t + 1` +n=`expr $n + 1` echo "I:checking CNAME to signed internal delgation is handled ($n)" ret=0 $DIG $DIGOPTS @10.53.0.7 -p 5300 d.example > dig.out.$n