summaryrefslogtreecommitdiff
path: root/tests/micropython/const_error.py
blob: 950360e4dc78233d8a31315f311c62e7d11b59d5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# make sure syntax error works correctly for bad const definition

from micropython import const


def test_syntax(code):
    try:
        exec(code)
    except SyntaxError:
        print("SyntaxError")


# argument not a constant
test_syntax("a = const(x)")

# redefined constant
test_syntax("A = const(1); A = const(2)")

# these operations are not supported within const
test_syntax("A = const(1 @ 2)")
test_syntax("A = const(1 << -2)")
test_syntax("A = const(1 >> -2)")
test_syntax("A = const(1 % 0)")
test_syntax("A = const(1 // 0)")