def it_should_stop_emitting_when_marker_is_found(self, format_exception): error = MagicMock(spec=Exception) tb = Mock(spec=TracebackType) tb.__contains__.return_value = False target = tb.tb_next.tb_next.tb_next target.tb_frame.f_globals.__contains__.return_value = True format_exception.return_value = 'foo' self.assertEqual(filter_traceback(error, tb), "foo") format_exception.assert_called_once_with(Exception, error, target)
def _traceback(self): sb = [] if self.traceback: if self.filter_traceback: sb.append(filter_traceback(self.error, self.traceback or None)) else: sb.append(str_traceback(self.error, self.traceback or None)) if self.stdout: sb.append(self._stdout()) if self.stderr: sb.append(self._stderr()) return '\n'.join(filter(bool, sb))
def it_should_return_traceback_if_its_not_a_traceback_type(self): tb = 'bar' self.assertEqual(filter_traceback(Mock(), tb), "bar")