Issue #28492: Fix how StopIteration is raised in _asyncio.Future

This commit is contained in:
Yury Selivanov 2016-10-20 15:54:20 -04:00
parent 82919ec44f
commit a4b884f900
3 changed files with 34 additions and 2 deletions

View file

@ -464,6 +464,19 @@ class FutureTests(test_utils.TestCase):
futures._set_result_unless_cancelled(fut, 2)
self.assertTrue(fut.cancelled())
def test_future_stop_iteration_args(self):
fut = asyncio.Future(loop=self.loop)
fut.set_result((1, 2))
fi = fut.__iter__()
result = None
try:
fi.send(None)
except StopIteration as ex:
result = ex.args[0]
else:
self.fail('StopIteration was expected')
self.assertEqual(result, (1, 2))
class FutureDoneCallbackTests(test_utils.TestCase):