diff options
author | David Lechner <david@lechnology.com> | 2020-03-22 21:26:08 -0500 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2020-03-30 13:21:58 +1100 |
commit | 3dc324d3f1312e40d3a8ed87e7244966bb756f26 (patch) | |
tree | 94ff44f8eabba0039582c245b901173597edd11e /tests/misc/sys_settrace_features.py | |
parent | 488613bca6c460340ed2995ae5cafafe22d0bfff (diff) | |
download | micropython-3dc324d3f1312e40d3a8ed87e7244966bb756f26.tar.gz micropython-3dc324d3f1312e40d3a8ed87e7244966bb756f26.zip |
tests: Format all Python code with black, except tests in basics subdir.
This adds the Python files in the tests/ directory to be formatted with
./tools/codeformat.py. The basics/ subdirectory is excluded for now so we
aren't changing too much at once.
In a few places `# fmt: off`/`# fmt: on` was used where the code had
special formatting for readability or where the test was actually testing
the specific formatting.
Diffstat (limited to 'tests/misc/sys_settrace_features.py')
-rw-r--r-- | tests/misc/sys_settrace_features.py | 45 |
1 files changed, 31 insertions, 14 deletions
diff --git a/tests/misc/sys_settrace_features.py b/tests/misc/sys_settrace_features.py index 932e430de7..a123044892 100644 --- a/tests/misc/sys_settrace_features.py +++ b/tests/misc/sys_settrace_features.py @@ -6,83 +6,100 @@ except AttributeError: print("SKIP") raise SystemExit + def print_stacktrace(frame, level=0): # Ignore CPython specific helpers. - if frame.f_globals['__name__'].find('importlib') != -1: + if frame.f_globals["__name__"].find("importlib") != -1: print_stacktrace(frame.f_back, level) return - print("%2d: %s@%s:%s => %s:%d" % ( - level, " ", - frame.f_globals['__name__'], - frame.f_code.co_name, - # reduce full path to some pseudo-relative - 'misc' + ''.join(frame.f_code.co_filename.split('tests/misc')[-1:]), - frame.f_lineno, - )) + print( + "%2d: %s@%s:%s => %s:%d" + % ( + level, + " ", + frame.f_globals["__name__"], + frame.f_code.co_name, + # reduce full path to some pseudo-relative + "misc" + "".join(frame.f_code.co_filename.split("tests/misc")[-1:]), + frame.f_lineno, + ) + ) if frame.f_back: print_stacktrace(frame.f_back, level + 1) + class _Prof: - trace_count = 0; + trace_count = 0 def trace_tick(self, frame, event, arg): self.trace_count += 1 print_stacktrace(frame) + __prof__ = _Prof() alice_handler_set = False + + def trace_tick_handler_alice(frame, event, arg): print("### trace_handler::Alice event:", event) __prof__.trace_tick(frame, event, arg) return trace_tick_handler_alice + bob_handler_set = False + + def trace_tick_handler_bob(frame, event, arg): print("### trace_handler::Bob event:", event) __prof__.trace_tick(frame, event, arg) return trace_tick_handler_bob + def trace_tick_handler(frame, event, arg): # Ignore CPython specific helpers. - if frame.f_globals['__name__'].find('importlib') != -1: + if frame.f_globals["__name__"].find("importlib") != -1: return print("### trace_handler::main event:", event) __prof__.trace_tick(frame, event, arg) - if frame.f_code.co_name != 'factorial': + if frame.f_code.co_name != "factorial": return trace_tick_handler global alice_handler_set - if event == 'call' and not alice_handler_set: + if event == "call" and not alice_handler_set: alice_handler_set = True return trace_tick_handler_alice global bob_handler_set - if event == 'call' and not bob_handler_set: + if event == "call" and not bob_handler_set: bob_handler_set = True return trace_tick_handler_bob return trace_tick_handler + def factorial(n): if n == 0: return 1 else: return n * factorial(n - 1) + def do_tests(): # These commands are here to demonstrate some execution being traced. print("Who loves the sun?") print("Not every-", factorial(3)) from sys_settrace_subdir import trace_generic + trace_generic.run_tests() return + sys.settrace(trace_tick_handler) do_tests() sys.settrace(None) |