[Python-checkins] python/dist/src/Lib/test test_socket.py,1.65,1.66
rhettinger@users.sourceforge.net
rhettinger@users.sourceforge.net
2003年6月28日 21:40:24 -0700
Update of /cvsroot/python/python/dist/src/Lib/test
In directory sc8-pr-cvs1:/tmp/cvs-serv7356
Modified Files:
test_socket.py
Log Message:
SF patch #760257: add socket.timeout exception
(Contributed by Bob Halley)
Add unittests for the new socket.timeout exception.
Index: test_socket.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_socket.py,v
retrieving revision 1.65
retrieving revision 1.66
diff -C2 -d -r1.65 -r1.66
*** test_socket.py 12 May 2003 20:19:37 -0000 1.65
--- test_socket.py 29 Jun 2003 04:40:22 -0000 1.66
***************
*** 683,690 ****
bufsize = 2 # Exercise the buffering code
def test_main():
! tests = [ GeneralModuleTests, BasicTCPTest ]
if sys.platform != 'mac':
! tests.append(BasicUDPTest)
tests.extend([
--- 683,745 ----
bufsize = 2 # Exercise the buffering code
+ class TCPTimeoutTest(SocketTCPTest):
+
+ def testTCPTimeout(self):
+ def raise_timeout(*args, **kwargs):
+ self.serv.settimeout(1.0)
+ self.serv.accept()
+ self.failUnlessRaises(socket.timeout, raise_timeout,
+ "Error generating a timeout exception (TCP)")
+
+ def testTimeoutZero(self):
+ ok = False
+ try:
+ self.serv.settimeout(0.0)
+ foo = self.serv.accept()
+ except socket.timeout:
+ self.fail("caught timeout instead of error (TCP)")
+ except socket.error:
+ ok = True
+ except:
+ self.fail("caught unexpected exception (TCP)")
+ if not ok:
+ self.fail("accept() returned success when we did not expect it")
+
+ class UDPTimeoutTest(SocketTCPTest):
+
+ def testUDPTimeout(self):
+ def raise_timeout(*args, **kwargs):
+ self.serv.settimeout(1.0)
+ self.serv.recv(1024)
+ self.failUnlessRaises(socket.timeout, raise_timeout,
+ "Error generating a timeout exception (UDP)")
+
+ def testTimeoutZero(self):
+ ok = False
+ try:
+ self.serv.settimeout(0.0)
+ foo = self.serv.recv(1024)
+ except socket.timeout:
+ self.fail("caught timeout instead of error (UDP)")
+ except socket.error:
+ ok = True
+ except:
+ self.fail("caught unexpected exception (UDP)")
+ if not ok:
+ self.fail("recv() returned success when we did not expect it")
+
+ class TestExceptions(unittest.TestCase):
+
+ def testExceptionTree(self):
+ self.assert_(issubclass(socket.error, Exception))
+ self.assert_(issubclass(socket.herror, socket.error))
+ self.assert_(issubclass(socket.gaierror, socket.error))
+ self.assert_(issubclass(socket.timeout, socket.error))
+
+
def test_main():
! tests = [GeneralModuleTests, BasicTCPTest, TCPTimeoutTest, TestExceptions]
if sys.platform != 'mac':
! tests.extend([ BasicUDPTest, UDPTimeoutTest ])
tests.extend([