summaryrefslogtreecommitdiffstatshomepage
path: root/tests/basics/del-local.py
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2014-04-09 15:26:46 +0100
committerDamien George <damien.p.george@gmail.com>2014-04-09 15:26:46 +0100
commit2bf7c092225645d8c5b15e536afdce39e3593e42 (patch)
treee257514a3008411367ea5e62eaea4b101ccac257 /tests/basics/del-local.py
parent11d8cd54c992eee55f27d3779738626bdc095c03 (diff)
downloadmicropython-2bf7c092225645d8c5b15e536afdce39e3593e42.tar.gz
micropython-2bf7c092225645d8c5b15e536afdce39e3593e42.zip
py: Properly implement deletion of locals and derefs, and detect errors.
Needed to reinstate 2 delete opcodes, to specifically check that a local is not deleted twice.
Diffstat (limited to 'tests/basics/del-local.py')
-rw-r--r--tests/basics/del-local.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/basics/del-local.py b/tests/basics/del-local.py
new file mode 100644
index 0000000000..05aa98b424
--- /dev/null
+++ b/tests/basics/del-local.py
@@ -0,0 +1,25 @@
+# delete local then try to reference it
+def f():
+ x = 1
+ y = 2
+ print(x, y)
+ del x
+ print(y)
+ try:
+ print(x)
+ except NameError:
+ print("NameError");
+f()
+
+# delete local then try to delete it again
+def g():
+ x = 3
+ y = 4
+ print(x, y)
+ del x
+ print(y)
+ try:
+ del x
+ except NameError:
+ print("NameError");
+g()