|
|
self.assertEqual(log, [(sys._getframe(),'foo',foo)]) |
self.assertEqual(log, [(sys._getframe(),'foo',foo)]) |
|
|
|
def testAlreadyTracing(self): |
|
log = [] |
|
def my_global_tracer(frm,event,arg): |
|
log.append(frm.f_code.co_name) |
|
return my_local_tracer |
|
def my_local_tracer(*args): |
|
return my_local_tracer |
|
|
|
sys.settrace(my_global_tracer) # This is going to break your debugger! |
|
self.testAssignAdvice() |
|
sys.settrace(None) |
|
|
|
# And this part is going to fail if testAssignAdvice() or |
|
# decorate_assignment change much... |
|
self.assertEqual(log, [ |
|
'testAssignAdvice', |
|
'decorate_assignment', 'enclosing_frame', '<lambda>', 'failUnlessEqual', |
|
'decorate_assignment', 'enclosing_frame', '<lambda>', 'failUnlessEqual', |
|
'decorate_assignment', 'enclosing_frame', '<lambda>', |
|
'decorate_assignment', 'enclosing_frame', '<lambda>', 'failUnlessEqual', |
|
]) |
|
|
|
|
|
|