[svn] commit: r2267 - in /branches/trac167/src/bin/bind10: bind10.py.in tests/bind10_test.py
BIND 10 source code commits
bind10-changes at lists.isc.org
Thu Jun 24 20:31:51 UTC 2010
Author: each
Date: Thu Jun 24 20:31:51 2010
New Revision: 2267
Log:
Address review comments: add tests, refactor IPAddr class a bit
Modified:
branches/trac167/src/bin/bind10/bind10.py.in
branches/trac167/src/bin/bind10/tests/bind10_test.py
Modified: branches/trac167/src/bin/bind10/bind10.py.in
==============================================================================
--- branches/trac167/src/bin/bind10/bind10.py.in (original)
+++ branches/trac167/src/bin/bind10/bind10.py.in Thu Jun 24 20:31:51 2010
@@ -164,19 +164,20 @@
def __init__(self, addr):
try:
- f = socket.AF_INET
- a = socket.inet_pton(f, addr)
- except socket.error:
- try:
- f = socket.AF_INET6
- a = socket.inet_pton(f, addr)
- except socket.error as se:
- raise se
+ a = socket.inet_pton(socket.AF_INET, addr)
+ self.family = socket.AF_INET
+ self.addr = a
+ return
+ except:
+ pass
+
+ try:
+ a = socket.inet_pton(socket.AF_INET6, addr)
+ self.family = socket.AF_INET6
+ self.addr = a
+ return
except Exception as e:
- print(str(e))
-
- self.family = f
- self.addr = a
+ raise e
def __str__(self):
return socket.inet_ntop(self.family, self.addr)
Modified: branches/trac167/src/bin/bind10/tests/bind10_test.py
==============================================================================
--- branches/trac167/src/bin/bind10/tests/bind10_test.py (original)
+++ branches/trac167/src/bin/bind10/tests/bind10_test.py Thu Jun 24 20:31:51 2010
@@ -1,4 +1,4 @@
-from bind10 import ProcessInfo, BoB
+from bind10 import ProcessInfo, BoB, IPAddr
# XXX: environment tests are currently disabled, due to the preprocessor
# setup that we have now complicating the environment
@@ -7,6 +7,7 @@
import sys
import os
import signal
+import socket
class TestProcessInfo(unittest.TestCase):
def setUp(self):
@@ -71,21 +72,67 @@
self.assertTrue(type(pi.pid) is int)
self.assertNotEqual(pi.pid, old_pid)
+class TestIPAddr(unittest.TestCase):
+ def test_v6ok(self):
+ addr = IPAddr('2001:4f8::1')
+ self.assertEqual(addr.family, socket.AF_INET6)
+ self.assertEqual(addr.addr, socket.inet_pton(socket.AF_INET6, '2001:4f8::1'))
+
+ def test_v4ok(self):
+ addr = IPAddr('127.127.127.127')
+ self.assertEqual(addr.family, socket.AF_INET)
+ self.assertEqual(addr.addr, socket.inet_aton('127.127.127.127'))
+
+ def test_badaddr(self):
+ self.assertRaises(socket.error, IPAddr, 'foobar')
+ self.assertRaises(socket.error, IPAddr, '123')
+ self.assertRaises(socket.error, IPAddr, '127/8')
+ self.assertRaises(socket.error, IPAddr, '0/0')
+ self.assertRaises(socket.error, IPAddr, '1.2.3.4/32')
+ self.assertRaises(socket.error, IPAddr, '0')
+ self.assertRaises(socket.error, IPAddr, '')
+
class TestBoB(unittest.TestCase):
def test_init(self):
bob = BoB()
self.assertEqual(bob.verbose, False)
self.assertEqual(bob.c_channel_port, 9912)
+ self.assertEqual(bob.auth_port, 5300)
self.assertEqual(bob.cc_session, None)
+ self.assertEqual(bob.address, None)
self.assertEqual(bob.processes, {})
self.assertEqual(bob.dead_processes, {})
self.assertEqual(bob.runnable, False)
- def test_init_alternate_port(self):
+ def test_init_alternate_channel_port(self):
bob = BoB(2199)
self.assertEqual(bob.verbose, False)
self.assertEqual(bob.c_channel_port, 2199)
+ self.assertEqual(bob.auth_port, 5300)
self.assertEqual(bob.cc_session, None)
+ self.assertEqual(bob.address, None)
+ self.assertEqual(bob.processes, {})
+ self.assertEqual(bob.dead_processes, {})
+ self.assertEqual(bob.runnable, False)
+
+ def test_init_alternate_auth_port(self):
+ bob = BoB(9912, 9999)
+ self.assertEqual(bob.verbose, False)
+ self.assertEqual(bob.c_channel_port, 9912)
+ self.assertEqual(bob.auth_port, 9999)
+ self.assertEqual(bob.cc_session, None)
+ self.assertEqual(bob.address, None)
+ self.assertEqual(bob.processes, {})
+ self.assertEqual(bob.dead_processes, {})
+ self.assertEqual(bob.runnable, False)
+
+ def test_init_alternate_address(self):
+ bob = BoB(9912, 5300, '127.127.127.127')
+ self.assertEqual(bob.verbose, False)
+ self.assertEqual(bob.c_channel_port, 9912)
+ self.assertEqual(bob.auth_port, 5300)
+ self.assertEqual(bob.cc_session, None)
+ self.assertEqual(bob.address.addr, socket.inet_aton('127.127.127.127'))
self.assertEqual(bob.processes, {})
self.assertEqual(bob.dead_processes, {})
self.assertEqual(bob.runnable, False)
More information about the bind10-changes
mailing list