summaryrefslogtreecommitdiff
path: root/tests/micropython/viper_globals.py
blob: 9532dfd895b39eef271dc2d7b7bdeaebe1cd56c1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# test that viper functions capture their globals context

gl = {}

exec(
    """
@micropython.viper
def f():
    return x
""",
    gl,
)

# x is not yet in the globals, f should not see it
try:
    print(gl["f"]())
except NameError:
    print("NameError")

# x is in globals, f should now see it
gl["x"] = 123
print(gl["f"]())