Fixed bugs 760475, 953599, and 1519. This is a translation of changelist 64768

to the py3k branch.
This commit is contained in:
Josiah Carlson 2008-07-07 05:04:12 +00:00
parent 35bf9bf68c
commit 9f2f83338f
3 changed files with 14 additions and 6 deletions

View file

@ -39,6 +39,7 @@ class exitingdummy:
raise asyncore.ExitNow()
handle_write_event = handle_read_event
handle_close_event = handle_read_event
handle_expt_event = handle_read_event
class crashingdummy:
@ -49,6 +50,7 @@ class crashingdummy:
raise Exception()
handle_write_event = handle_read_event
handle_close_event = handle_read_event
handle_expt_event = handle_read_event
def handle_error(self):
@ -118,6 +120,7 @@ class HelperFunctionTests(unittest.TestCase):
def __init__(self):
self.read = False
self.write = False
self.closed = False
self.expt = False
def handle_read_event(self):
@ -126,6 +129,9 @@ class HelperFunctionTests(unittest.TestCase):
def handle_write_event(self):
self.write = True
def handle_close_event(self):
self.closed = True
def handle_expt_event(self):
self.expt = True
@ -168,9 +174,9 @@ class HelperFunctionTests(unittest.TestCase):
for flag in (select.POLLERR, select.POLLHUP, select.POLLNVAL):
tobj = testobj()
self.assertEqual(tobj.expt, False)
self.assertEqual((tobj.expt, tobj.closed)[flag == select.POLLHUP], False)
asyncore.readwrite(tobj, flag)
self.assertEqual(tobj.expt, True)
self.assertEqual((tobj.expt, tobj.closed)[flag == select.POLLHUP], True)
# check that ExitNow exceptions in the object handler method
# bubbles all the way up through asyncore readwrite calls