summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_timeout.py
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@haypocalc.com>2011-01-03 14:30:41 (GMT)
committerVictor Stinner <victor.stinner@haypocalc.com>2011-01-03 14:30:41 (GMT)
commit5c85e3f390576e9ddcc2eaa714d54bf14e759f3a (patch)
treeb852c2a96dd7512dfb89ecfad2e6bfa03714248e /Lib/test/test_timeout.py
parent109761ba076842a9ab4343f083d46658829067b9 (diff)
downloadcpython-5c85e3f390576e9ddcc2eaa714d54bf14e759f3a.zip
cpython-5c85e3f390576e9ddcc2eaa714d54bf14e759f3a.tar.gz
cpython-5c85e3f390576e9ddcc2eaa714d54bf14e759f3a.tar.bz2
test_timeout: move testRecvfromTimeout() to a UDP-specific test case
Fix a ResourceWarning(unclosed socket).
Diffstat (limited to 'Lib/test/test_timeout.py')
-rw-r--r--Lib/test/test_timeout.py60
1 files changed, 38 insertions, 22 deletions
diff --git a/Lib/test/test_timeout.py b/Lib/test/test_timeout.py
index bbcdc25..618b0e4 100644
--- a/Lib/test/test_timeout.py
+++ b/Lib/test/test_timeout.py
@@ -88,8 +88,6 @@ class CreationTestCase(unittest.TestCase):
class TimeoutTestCase(unittest.TestCase):
- """Test case for socket.socket() timeout functions"""
-
# There are a number of tests here trying to make sure that an operation
# doesn't take too much longer than expected. But competing machine
# activity makes it inevitable that such tests will fail at times.
@@ -98,14 +96,22 @@ class TimeoutTestCase(unittest.TestCase):
# solution.
fuzz = 2.0
+ localhost = '127.0.0.1'
+
def setUp(self):
- self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- self.addr_remote = ('www.python.org.', 80)
- self.localhost = '127.0.0.1'
+ raise NotImplementedError()
def tearDown(self):
self.sock.close()
+
+class TCPTimeoutTestCase(TimeoutTestCase):
+ """TCP test case for socket.socket() timeout functions"""
+
+ def setUp(self):
+ self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+ self.addr_remote = ('www.python.org.', 80)
+
def testConnectTimeout(self):
# Choose a private address that is unlikely to exist to prevent
# failures due to the connect succeeding before the timeout.
@@ -161,10 +167,31 @@ class TimeoutTestCase(unittest.TestCase):
"timeout (%g) is %g seconds more than expected (%g)"
%(_delta, self.fuzz, _timeout))
+ def testSend(self):
+ # Test send() timeout
+ # couldn't figure out how to test it
+ pass
+
+ def testSendto(self):
+ # Test sendto() timeout
+ # couldn't figure out how to test it
+ pass
+
+ def testSendall(self):
+ # Test sendall() timeout
+ # couldn't figure out how to test it
+ pass
+
+
+class UDPTimeoutTestCase(TimeoutTestCase):
+ """UDP test case for socket.socket() timeout functions"""
+
+ def setUp(self):
+ self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
+
def testRecvfromTimeout(self):
# Test recvfrom() timeout
_timeout = 2
- self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
self.sock.settimeout(_timeout)
# Prevent "Address already in use" socket exceptions
support.bind_port(self.sock, self.localhost)
@@ -178,25 +205,14 @@ class TimeoutTestCase(unittest.TestCase):
"timeout (%g) is %g seconds more than expected (%g)"
%(_delta, self.fuzz, _timeout))
- def testSend(self):
- # Test send() timeout
- # couldn't figure out how to test it
- pass
-
- def testSendto(self):
- # Test sendto() timeout
- # couldn't figure out how to test it
- pass
-
- def testSendall(self):
- # Test sendall() timeout
- # couldn't figure out how to test it
- pass
-
def test_main():
support.requires('network')
- support.run_unittest(CreationTestCase, TimeoutTestCase)
+ support.run_unittest(
+ CreationTestCase,
+ TCPTimeoutTestCase,
+ UDPTimeoutTestCase,
+ )
if __name__ == "__main__":
test_main()