import xml.dom.minidom import os, sys global nest nest = 0 def trace(frame, event, arg): global nest print "%s%s %s %d" % ( " " * nest, event, os.path.basename(frame.f_code.co_filename), frame.f_lineno ) if event == 'call': nest += 1 if event == 'return': nest -= 1 return trace sys.settrace(trace) XML = '''\ ''' def foo(): dom = xml.dom.minidom.parseString(XML) assert len(dom.getElementsByTagName('child')) == 2 print "Parsed" foo()