'L{defer.inlineCallbacks} that re-raise tracebacks into their deferred
should not lose their tracebacks.'

def test_inlineCallbacksTracebacks(self):

    f = getDivisionFailure()
    d = defer.Deferred()
    try:
        f.raiseException()
    except:
        d.errback()
    def ic(d):
        (yield d)
    ic = defer.inlineCallbacks(ic)
    newFailure = self.failureResultOf(d)
    tb = traceback.extract_tb(newFailure.getTracebackObject())
    self.assertEqual(len(tb), 2)
    self.assertIn('test_defer', tb[0][0])
    self.assertEqual('test_inlineCallbacksTracebacks', tb[0][2])
    self.assertEqual('f.raiseException()', tb[0][3])
    self.assertIn('test_defer', tb[1][0])
    self.assertEqual('getDivisionFailure', tb[1][2])
    self.assertEqual('1/0', tb[1][3])
