diff options
author | Damien George <damien.p.george@gmail.com> | 2019-02-26 13:47:14 +1100 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2019-02-26 23:52:10 +1100 |
commit | 12ce9f268909435b49f558d1d3c15ad7591d6fe8 (patch) | |
tree | 0e962e3d6d40eba1d34cdb7d6c88ea73ab1f6e02 /tests/basics/async_with.py | |
parent | 823b31e5287ee96c96620dac81cfeafc889a69fd (diff) | |
download | micropython-12ce9f268909435b49f558d1d3c15ad7591d6fe8.tar.gz micropython-12ce9f268909435b49f558d1d3c15ad7591d6fe8.zip |
py/compile: Fix handling of unwinding BaseException in async with.
All exceptions that unwind through the async-with must be caught and
BaseException is the top-level class, which includes Exception and others.
Fixes issue #4552.
Diffstat (limited to 'tests/basics/async_with.py')
-rw-r--r-- | tests/basics/async_with.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/tests/basics/async_with.py b/tests/basics/async_with.py index 5af0c5d955..f7774055cf 100644 --- a/tests/basics/async_with.py +++ b/tests/basics/async_with.py @@ -27,3 +27,13 @@ try: o.send(None) except ValueError: print('ValueError') + +# test raising BaseException to make sure it is handled by the async-with +async def h(): + async with AContext(): + raise BaseException +o = h() +try: + o.send(None) +except BaseException: + print('BaseException') |