[Python-checkins] python/dist/src/Lib/test test_timeout.py,1.2,1.3

gvanrossum@users.sourceforge.net gvanrossum@users.sourceforge.net
Wed, 12 Jun 2002 12:57:20 -0700


Update of /cvsroot/python/python/dist/src/Lib/test
In directory usw-pr-cvs1:/tmp/cvs-serv10355

Modified Files:
	test_timeout.py 
Log Message:
Add some more basic tests to validate the argument checking of
settimeout(), test settimeout(None), and the interaction between
settimeout() and setblocking().


Index: test_timeout.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_timeout.py,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** test_timeout.py	12 Jun 2002 19:18:08 -0000	1.2
--- test_timeout.py	12 Jun 2002 19:57:18 -0000	1.3
***************
*** 1,3 ****
! #!/home/bernie/src/python23/dist/src/python
  
  import unittest
--- 1,3 ----
! """Unit tests for socket timeout feature."""
  
  import unittest
***************
*** 7,12 ****
--- 7,14 ----
  import socket
  
+ 
  class CreationTestCase(unittest.TestCase):
      """Test Case for socket.gettimeout() and socket.settimeout()"""
+ 
      def setUp(self):
          self.__s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
***************
*** 40,46 ****
--- 42,96 ----
              "return type of gettimeout() is not FloatType")
  
+         self.__s.settimeout(None)
+         self.assertEqual(type(self.__s.gettimeout()), type(None),
+             "return type of gettimeout() is not None")
+ 
+     def testTypeCheck(self):
+         "Test type checking by settimeout"
+         self.__s.settimeout(0)
+         self.__s.settimeout(0L)
+         self.__s.settimeout(0.0)
+         self.__s.settimeout(None)
+         self.assertRaises(TypeError, self.__s.settimeout, "")
+         self.assertRaises(TypeError, self.__s.settimeout, u"")
+         self.assertRaises(TypeError, self.__s.settimeout, ())
+         self.assertRaises(TypeError, self.__s.settimeout, [])
+         self.assertRaises(TypeError, self.__s.settimeout, {})
+         self.assertRaises(TypeError, self.__s.settimeout, 0j)
+ 
+     def testRangeCheck(self):
+         "Test range checking by settimeout"
+         self.assertRaises(ValueError, self.__s.settimeout, -1)
+         self.assertRaises(ValueError, self.__s.settimeout, -1L)
+         self.assertRaises(ValueError, self.__s.settimeout, -1.0)
+ 
+     def testTimeoutThenoBlocking(self):
+         "Test settimeout followed by setblocking"
+         self.__s.settimeout(10)
+         self.__s.setblocking(1)
+         self.assertEqual(self.__s.gettimeout(), None)
+         self.__s.setblocking(0)
+         self.assertEqual(self.__s.gettimeout(), None)
+ 
+         self.__s.settimeout(10)
+         self.__s.setblocking(0)
+         self.assertEqual(self.__s.gettimeout(), None)
+         self.__s.setblocking(1)
+         self.assertEqual(self.__s.gettimeout(), None)
+ 
+     def testBlockingThenTimeout(self):
+         "Test setblocking followed by settimeout"
+         self.__s.setblocking(0)
+         self.__s.settimeout(1)
+         self.assertEqual(self.__s.gettimeout(), 1)
+ 
+         self.__s.setblocking(1)
+         self.__s.settimeout(1)
+         self.assertEqual(self.__s.gettimeout(), 1)
+ 
  
  class TimeoutTestCase(unittest.TestCase):
      """Test Case for socket.socket() timeout functions"""
+ 
      def setUp(self):
          self.__s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)