diff options
author | Damien George <damien.p.george@gmail.com> | 2018-08-16 14:43:35 +1000 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2018-08-17 14:11:36 +1000 |
commit | f7746141106a5caa1b02c08d4e083260d2b9e1c1 (patch) | |
tree | b42f16e5f227817cbd91acaeac71c5b119f41fcf /tests/micropython/native_try.py | |
parent | a3de776486396a4bf4f5233ce18143bd0fd81cac (diff) |
tests/micropython: Add tests for try and with blocks under native/viper.
Diffstat (limited to 'tests/micropython/native_try.py')
-rw-r--r-- | tests/micropython/native_try.py | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/micropython/native_try.py b/tests/micropython/native_try.py new file mode 100644 index 000000000..2e41bf2ea --- /dev/null +++ b/tests/micropython/native_try.py @@ -0,0 +1,39 @@ +# test native try handling + +# basic try-finally +@micropython.native +def f(): + try: + fail + finally: + print('finally') +try: + f() +except NameError: + print('NameError') + +# nested try-except with try-finally +@micropython.native +def f(): + try: + try: + fail + finally: + print('finally') + except NameError: + print('NameError') +f() + +# check that locals written to in try blocks keep their values +@micropython.native +def f(): + a = 100 + try: + print(a) + a = 200 + fail + except NameError: + print(a) + a = 300 + print(a) +f() |