summaryrefslogtreecommitdiff
path: root/tests/micropython/opt_level.py
blob: 3213dc003d630a99564e148a4bb4cd9d76ad8d3c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import micropython as micropython

# check we can get and set the level
micropython.opt_level(0)
print(micropython.opt_level())
micropython.opt_level(1)
print(micropython.opt_level())

# check that the optimisation levels actually differ
micropython.opt_level(0)
exec("print(__debug__)")
micropython.opt_level(1)
exec("print(__debug__)")
exec("assert 0")

# check that level 3 doesn't store line numbers
# the expected output is that any line is printed as "line 1"
micropython.opt_level(3)
exec("try:\n xyz\nexcept NameError as er:\n import sys\n sys.print_exception(er)")