summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJim Mussared <jim.mussared@gmail.com>2023-08-23 13:30:20 +1000
committerDamien George <damien@micropython.org>2023-08-30 10:58:04 +1000
commitb2b5bcce28016c16f9c25772195ebe89576c17de (patch)
treeaf248fe3eae87af3c22482f8c1618998a8318371 /tests
parent4a3fdc0e76c640d550099cecaa41f8c3e1489562 (diff)
py/profile: Remove the requirement to disable MICROPY_COMP_CONST.
The only reason that const had to be disabled was to make the test output match CPython when const was involved. Instead, this commit fixes the test to handle the lines where const is used. Also: - remove the special handling for MICROPY_PERSISTENT_CODE_SAVE in unix/mpconfigport.h, and make this automatic. - move the check for MICROPY_PERSISTENT_CODE_SAVE to where it's used (like we do for other similar checks) and add a comment explaining it. This work was funded through GitHub Sponsors. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/misc/sys_settrace_features.py5
-rw-r--r--tests/misc/sys_settrace_subdir/sys_settrace_importme.py10
2 files changed, 13 insertions, 2 deletions
diff --git a/tests/misc/sys_settrace_features.py b/tests/misc/sys_settrace_features.py
index 84cf875a8..8ca6b382e 100644
--- a/tests/misc/sys_settrace_features.py
+++ b/tests/misc/sys_settrace_features.py
@@ -67,6 +67,11 @@ def trace_tick_handler(frame, event, arg):
if any(name in frame_name for name in to_ignore):
return
+ # Lines 4,5,7 create the `const` lambda, and line `15` is a `_X = const()` which
+ # MicroPython will not see as it's optimised out.
+ if "sys_settrace_importme" in frame.f_code.co_filename and frame.f_lineno in (4, 5, 7, 15):
+ return trace_tick_handler
+
print("### trace_handler::main event:", event)
__prof__.trace_tick(frame, event, arg)
diff --git a/tests/misc/sys_settrace_subdir/sys_settrace_importme.py b/tests/misc/sys_settrace_subdir/sys_settrace_importme.py
index de561ef21..fdfa06134 100644
--- a/tests/misc/sys_settrace_subdir/sys_settrace_importme.py
+++ b/tests/misc/sys_settrace_subdir/sys_settrace_importme.py
@@ -3,12 +3,18 @@ print("Yep, I got imported.")
try:
x = const(1)
except NameError:
- print("const not defined")
+ # Either running on CPython or MICROPY_COMP_CONST disabled.
+ const = lambda x: x
-const = lambda x: x
+# No const optimisation.
_CNT01 = "CONST01"
+
+# Const assigned to an underscore name. Invisible to MicroPython with
+# MICROPY_COMP_CONST enabled.
_CNT02 = const(123)
+
+# Consts assigned to regular name, executed normally.
A123 = const(123)
a123 = const(123)