diff options
author | Facundo Batista <facundobatista@gmail.com> | 2007-07-31 03:03:34 (GMT) |
---|---|---|
committer | Facundo Batista <facundobatista@gmail.com> | 2007-07-31 03:03:34 (GMT) |
commit | 4950442fb7c0b668a10143300d97ed4a70e4ff49 (patch) | |
tree | b39e0f66d216ab2dd37969ac4223171e8e66ad54 /Lib/test/test_asynchat.py | |
parent | a6a21fabbcecb163c14110b0d62a3ad053f97f7e (diff) | |
download | cpython-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.py | 22 |
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, []) |