From: JINMEI Tatuya Date: Fri, 24 May 2013 05:38:17 +0000 (-0700) Subject: [master] avoid using 'with' protocol for socket.socket. it doesn't work < 3.2. X-Git-Tag: bind10-1.2.0beta1-release~432 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=26f8bf358b2eceec472e341f1f380bf9474913de;p=thirdparty%2Fkea.git [master] avoid using 'with' protocol for socket.socket. it doesn't work < 3.2. this should fix test failures reported by buildbots. confirmed, committing at my discretion. --- diff --git a/src/bin/xfrout/tests/xfrout_test.py.in b/src/bin/xfrout/tests/xfrout_test.py.in index 514184416e..7c71e78056 100644 --- a/src/bin/xfrout/tests/xfrout_test.py.in +++ b/src/bin/xfrout/tests/xfrout_test.py.in @@ -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