Issue #5661: Add a test for ECONNRESET/EPIPE handling to test_asyncore. Patch

by Xavier de Gaye.
This commit is contained in:
Charles-François Natali 2011-10-29 12:45:56 +02:00
parent 39be383406
commit d4621190c9
3 changed files with 32 additions and 0 deletions

View File

@ -632,6 +632,34 @@ class BaseTestAPI(unittest.TestCase):
client = TestClient(self.family, server.address)
self.loop_waiting_for_flag(client)
def test_handle_close_after_conn_broken(self):
# Check that ECONNRESET/EPIPE is correctly handled (issues #5661 and
# #11265).
data = b'\0' * 128
class TestClient(BaseClient):
def handle_write(self):
self.send(data)
def handle_close(self):
self.flag = True
self.close()
class TestHandler(BaseTestHandler):
def handle_read(self):
self.recv(len(data))
self.close()
def writable(self):
return False
server = BaseServer(self.family, self.addr, TestHandler)
client = TestClient(self.family, server.address)
self.loop_waiting_for_flag(client)
@unittest.skipIf(sys.platform.startswith("sunos"),
"OOB support is broken on Solaris")
def test_handle_expt(self):

View File

@ -225,6 +225,7 @@ Pierre-Yves David
Scott David Daniels
Ben Darnell
Jonathan Dasteel
Xavier de Gaye
John DeGood
Ned Deily
Vincent Delft

View File

@ -1500,6 +1500,9 @@ Extension Modules
Tests
-----
- Issue #5661: Add a test for ECONNRESET/EPIPE handling to test_asyncore. Patch
by Xavier de Gaye.
- Issue #13218: Fix test_ssl failures on Debian/Ubuntu.
- Re-enable lib2to3's test_parser.py tests, though with an expected failure