]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[master] avoid using 'with' protocol for socket.socket. it doesn't work < 3.2.
authorJINMEI Tatuya <jinmei@isc.org>
Fri, 24 May 2013 05:38:17 +0000 (22:38 -0700)
committerJINMEI Tatuya <jinmei@isc.org>
Fri, 24 May 2013 05:38:17 +0000 (22:38 -0700)
this should fix test failures reported by buildbots.  confirmed, committing
at my discretion.

src/bin/xfrout/tests/xfrout_test.py.in

index 514184416e5ce485db755e3523beceb8674175e2..7c71e78056818e040351145f1f851a4e99d9112b 100644 (file)
@@ -199,16 +199,21 @@ class TestUtility(unittest.TestCase):
         def is_blocking(fd):
             return (fcntl.fcntl(fd, fcntl.F_GETFL) & os.O_NONBLOCK) == 0
 
-        with socket.socket(socket.AF_INET, socket.SOCK_STREAM,
-                           socket.IPPROTO_TCP) as sock:
-            # By default socket is made blocking
-            self.assertTrue(is_blocking(sock.fileno()))
-            # make_blocking(False) makes it non blocking
-            xfrout.make_blocking(sock.fileno(), False)
-            self.assertFalse(is_blocking(sock.fileno()))
-            # make_blocking(True) makes it blocking again
-            xfrout.make_blocking(sock.fileno(), True)
-            self.assertTrue(is_blocking(sock.fileno()))
+        # socket.socket doesn't support the 'with' statement before Python
+        # 3.2, so we'll close it ourselves (while it's not completely exception
+        # safe, it should be acceptable for a test case)
+        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM,
+                             socket.IPPROTO_TCP)
+        # By default socket is made blocking
+        self.assertTrue(is_blocking(sock.fileno()))
+        # make_blocking(False) makes it non blocking
+        xfrout.make_blocking(sock.fileno(), False)
+        self.assertFalse(is_blocking(sock.fileno()))
+        # make_blocking(True) makes it blocking again
+        xfrout.make_blocking(sock.fileno(), True)
+        self.assertTrue(is_blocking(sock.fileno()))
+
+        sock.close()
 
 class TestXfroutSessionBase(unittest.TestCase):
     '''Base class for tests related to xfrout sessions