]> 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:45:23 +0000 (21:45 +1000)
(cherry picked from commit b9c5b37e0c60e7b3cff36a28770396ebcbf23b5b)

bin/tests/system/chain/ans4/ans.py
bin/tests/system/chain/tests.sh

index 37c289897a517732aec22f2b3de825e948cdde90..e5c25047c516c36d800b22a74847e6be898cbcfb 100755 (executable)
@@ -25,6 +25,7 @@ import signal
 import socket
 import select
 from datetime import datetime, timedelta
+import functools
 
 import dns, dns.message, dns.query
 from dns.rdatatype import *
@@ -79,12 +80,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 = []
@@ -93,10 +94,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))
@@ -169,9 +170,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
@@ -188,7 +189,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
@@ -202,7 +203,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
@@ -233,7 +234,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])
@@ -262,6 +263,7 @@ def sigterm(signum, frame):
     print ("Shutting down now...")
     os.remove('ans.pid')
     running = 0
+    sys.exit(0)
 
 ############################################################################
 # Main
@@ -285,9 +287,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 a75313d8451268660ec85f078343c17fb8e38684..aac03e75ab807941fc56d308fb1d258f7b227138 100644 (file)
@@ -146,7 +146,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
@@ -154,7 +154,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