]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
make chain system test work with python 3
authorMark Andrews <marka@isc.org>
Wed, 24 May 2017 11:40:41 +0000 (21:40 +1000)
committerMark Andrews <marka@isc.org>
Wed, 24 May 2017 11:40:41 +0000 (21:40 +1000)
bin/tests/system/chain/ans4/ans.py
bin/tests/system/chain/tests.sh

index 491e9a5fd19d79a086327c53883ba438afa9accc..80c519c382cf809936e0a2a9397f4eee55ee1a8a 100755 (executable)
@@ -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)
index 04f4b532b705ecac6865f01e79d507f79365611e..8577d9624ba47166fa60930a41d5c4a3fee1bb64 100644 (file)
@@ -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