Make asyncio stream sendfile fail on error (was hang) (GH-14025)

(cherry picked from commit 0d1942774a)

Co-authored-by: Andrew Svetlov <andrew.svetlov@gmail.com>
This commit is contained in:
Miss Islington (bot) 2019-06-12 12:10:44 -07:00 committed by GitHub
parent f72886a066
commit 3955dfff60
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1656,22 +1656,25 @@ os.close(fd)
async def serve_callback(stream):
data = await stream.readline()
self.assertEqual(data, b'begin\n')
await stream.write(b'ack-' + data)
data = await stream.readline()
self.assertEqual(data, b'data\n')
await stream.write(b'ack-' + data)
data = await stream.readline()
self.assertEqual(data, b'end\n')
await stream.write(b'done\n')
await stream.write(b'ack-' + data)
await stream.close()
async def do_connect(host, port):
stream = await asyncio.connect(host, port)
await stream.write(b'begin\n')
data = await stream.readline()
self.assertEqual(b'ack-begin\n', data)
with open(support.TESTFN, 'rb') as fp:
await stream.sendfile(fp)
data = await stream.readline()
self.assertEqual(b'ack-data\n', data)
await stream.write(b'end\n')
data = await stream.readline()
self.assertEqual(data, b'done\n')
self.assertEqual(data, b'ack-end\n')
await stream.close()
async def test():