def test_basic(self): """Basic sanity and status testing.""" tracer.HOOKS = [] self.assertEqual(0, tracer.size()) self.assertEqual(False, tracer.is_started()) tracer.start() self.assertEqual(True, tracer.is_started()) tracer.stop() self.assertEqual(False, tracer.is_started()) self.assertEqual(1, tracer.add_hook(my_trace_dispatch, {'backlevel': 1})) self.assertEqual(0, len(trace_lines)) tracer.start() self.assertEqual(0, len(trace_lines)) self.assertEqual(True, tracer.is_started()) self.assertEqual( 0, tracer.remove_hook(my_trace_dispatch, stop_if_empty=True)) self.assertEqual(False, tracer.is_started()) self.assertEqual( 1, tracer.add_hook(my_trace_dispatch, { 'start': True, 'backlevel': 1 })) self.assertEqual(True, tracer.is_started()) tracer.clear_hooks_and_stop() return
def stop(self, options=None): # Our version of: # sys.settrace(None) try: self.trace_hook_suspend = True get_option = lambda key: Mmisc.option_set(options, key, default.STOP_OPTS) args = [self.trace_dispatch] remove = get_option('remove') if remove: args.append(remove) pass if tracer.is_started(): try: tracer.remove_hook(*args) except LookupError: pass pass finally: self.trace_hook_suspend = False return
def stop(self, options=None): # Our version of: # pdb.set_trace(None) try: self.trace_hook_suspend = True get_option = lambda key: Mmisc.option_set(options, key, default.STOP_OPTS) args = [self.trace_dispatch] remove = get_option('remove') if remove: args.append(remove) pass if tracer.is_started(): try: tracer.remove_hook(*args) except LookupError: pass pass finally: self.trace_hook_suspend = False return
def test_remove(self): self.assertEquals(None, tracer.remove_hook(tracer.null_trace_hook)) tracer.clear_hooks() self.assertEquals(None, tracer.remove_hook(tracer.null_trace_hook)) return