/lab/run_trace.py
https://bitbucket.org/ned/coveragepy/ · Python · 35 lines · 21 code · 10 blank · 4 comment · 3 complexity · 048d49bdea677fa2534860db090879a3 MD5 · raw file
- # Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0
- # For details: https://bitbucket.org/ned/coveragepy/src/default/NOTICE.txt
- """Run a simple trace function on a file of Python code."""
- import os, sys
- nest = 0
- def trace(frame, event, arg):
- global nest
- if nest is None:
- # This can happen when Python is shutting down.
- return None
- print "%s%s %s %d @%d" % (
- " " * nest,
- event,
- os.path.basename(frame.f_code.co_filename),
- frame.f_lineno,
- frame.f_lasti,
- )
- if event == 'call':
- nest += 1
- if event == 'return':
- nest -= 1
- return trace
- the_program = sys.argv[1]
- sys.settrace(trace)
- execfile(the_program)