'Errors in the supplied ``deferreds`` are always consumed so that they
are not logged during garbage collection.'

@capture_logging(None)
def test_consume_errors(self, logger):

    d1 = fail(ZeroDivisionError())
    d2 = succeed(None)
    d3 = fail(ZeroDivisionError())
    self.failureResultOf(gather_deferreds([d1, d2, d3]))
    logger.flush_tracebacks(ZeroDivisionError)
    del d1, d2, d3
    gc.collect()
    self.assertEqual([], logger.flush_tracebacks(ZeroDivisionError))
