summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_asynchat.py
diff options
context:
space:
mode:
authorFacundo Batista <facundobatista@gmail.com>2007-07-31 03:03:34 (GMT)
committerFacundo Batista <facundobatista@gmail.com>2007-07-31 03:03:34 (GMT)
commit4950442fb7c0b668a10143300d97ed4a70e4ff49 (patch)
treeb39e0f66d216ab2dd37969ac4223171e8e66ad54 /Lib/test/test_asynchat.py
parenta6a21fabbcecb163c14110b0d62a3ad053f97f7e (diff)
downloadcpython-4950442fb7c0b668a10143300d97ed4a70e4ff49.zip
cpython-4950442fb7c0b668a10143300d97ed4a70e4ff49.tar.gz
cpython-4950442fb7c0b668a10143300d97ed4a70e4ff49.tar.bz2
When running asynchat tests on OS X (darwin), the test client now
overrides asyncore.dispatcher.handle_expt to do nothing, since select.poll gives a POLLHUP error at the completion of these tests. Added timeout & count arguments to several asyncore.loop calls to avoid the possibility of a test hanging up a build. [GSoC - Alan McIntyre]
Diffstat (limited to 'Lib/test/test_asynchat.py')
-rw-r--r--Lib/test/test_asynchat.py22
1 files changed, 14 insertions, 8 deletions
diff --git a/Lib/test/test_asynchat.py b/Lib/test/test_asynchat.py
index 5fcc529..c97978e 100644
--- a/Lib/test/test_asynchat.py
+++ b/Lib/test/test_asynchat.py
@@ -3,6 +3,7 @@
import thread # If this fails, we can't test this module
import asyncore, asynchat, socket, threading, time
import unittest
+import sys
from test import test_support
HOST = "127.0.0.1"
@@ -58,7 +59,12 @@ class echo_client(asynchat.async_chat):
def handle_connect(self):
pass
- ##print "Connected"
+
+ if sys.platform == 'darwin':
+ # select.poll returns a select.POLLHUP at the end of the tests
+ # on darwin, so just ignore it
+ def handle_expt(self):
+ pass
def collect_incoming_data(self, data):
self.buffer += data
@@ -87,7 +93,7 @@ class TestAsynchat(unittest.TestCase):
c.push("world%s" % term)
c.push("I'm not dead yet!%s" % term)
c.push(SERVER_QUIT)
- asyncore.loop(use_poll=self.usepoll)#, count=5, timeout=5)
+ asyncore.loop(use_poll=self.usepoll, count=300, timeout=.01)
s.join()
self.assertEqual(c.contents, ["hello world", "I'm not dead yet!"])
@@ -120,7 +126,7 @@ class TestAsynchat(unittest.TestCase):
data = "hello world, I'm not dead yet!\n"
c.push(data)
c.push(SERVER_QUIT)
- asyncore.loop(use_poll=self.usepoll)#, count=5, timeout=5)
+ asyncore.loop(use_poll=self.usepoll, count=300, timeout=.01)
s.join()
self.assertEqual(c.contents, [data[:termlen]])
@@ -143,7 +149,7 @@ class TestAsynchat(unittest.TestCase):
data = "hello world, I'm not dead yet!\n"
c.push(data)
c.push(SERVER_QUIT)
- asyncore.loop(use_poll=self.usepoll)#, count=5, timeout=5)
+ asyncore.loop(use_poll=self.usepoll, count=300, timeout=.01)
s.join()
self.assertEqual(c.contents, [])
@@ -157,7 +163,7 @@ class TestAsynchat(unittest.TestCase):
data = "hello world\nI'm not dead yet!\n"
p = asynchat.simple_producer(data+SERVER_QUIT, buffer_size=8)
c.push_with_producer(p)
- asyncore.loop(use_poll=self.usepoll)#, count=5, timeout=5)
+ asyncore.loop(use_poll=self.usepoll, count=300, timeout=.01)
s.join()
self.assertEqual(c.contents, ["hello world", "I'm not dead yet!"])
@@ -169,7 +175,7 @@ class TestAsynchat(unittest.TestCase):
c = echo_client('\n')
data = "hello world\nI'm not dead yet!\n"
c.push_with_producer(data+SERVER_QUIT)
- asyncore.loop(use_poll=self.usepoll)#, count=5, timeout=5)
+ asyncore.loop(use_poll=self.usepoll, count=300, timeout=.01)
s.join()
self.assertEqual(c.contents, ["hello world", "I'm not dead yet!"])
@@ -182,7 +188,7 @@ class TestAsynchat(unittest.TestCase):
c = echo_client('\n')
c.push("hello world\n\nI'm not dead yet!\n")
c.push(SERVER_QUIT)
- asyncore.loop(use_poll=self.usepoll)
+ asyncore.loop(use_poll=self.usepoll, count=300, timeout=.01)
s.join()
self.assertEqual(c.contents, ["hello world", "", "I'm not dead yet!"])
@@ -195,7 +201,7 @@ class TestAsynchat(unittest.TestCase):
c.push("hello world\nI'm not dead yet!\n")
c.push(SERVER_QUIT)
c.close_when_done()
- asyncore.loop(use_poll=self.usepoll)#, count=5, timeout=5)
+ asyncore.loop(use_poll=self.usepoll, count=300, timeout=.01)
s.join()
self.assertEqual(c.contents, [])