| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- # test async with, escaped by a break
- class AContext:
- async def __aenter__(self):
- print('enter')
- return 1
- async def __aexit__(self, exc_type, exc, tb):
- print('exit', exc_type, exc)
- async def f1():
- while 1:
- async with AContext():
- print('body')
- break
- print('no 1')
- print('no 2')
- o = f1()
- try:
- print(o.send(None))
- except StopIteration:
- print('finished')
- async def f2():
- while 1:
- try:
- async with AContext():
- print('body')
- break
- print('no 1')
- finally:
- print('finally')
- print('no 2')
- o = f2()
- try:
- print(o.send(None))
- except StopIteration:
- print('finished')
- async def f3():
- while 1:
- try:
- try:
- async with AContext():
- print('body')
- break
- print('no 1')
- finally:
- print('finally inner')
- finally:
- print('finally outer')
- print('no 2')
- o = f3()
- try:
- print(o.send(None))
- except StopIteration:
- print('finished')
|