@capture_logging(
        lambda self, logger: logger.flush_tracebacks(ZeroDivisionError)
    )
    def test_fire_when_all_fired(self, logger):
        d1 = Deferred()
        d2 = Deferred()
        d3 = Deferred()
        gathering = gather_deferreds([d1, d2, d3])

        # The second deferred fires first, with an error
        d2.errback(ZeroDivisionError('test_consume_errors1'))

        # But the gathered list does not fire...
        self.assertNoResult(gathering)

        # The remaining deferreds then callback...
        d1.callback(None)
        d3.callback(None)

        # ...and the gathered list has now fired.
        self.failureResultOf(gathering)
The ``Deferred`` returned by ``gather_deferreds`` does not fire until
dataset/ETHPy150Open ClusterHQ/flocker/flocker/common/test/test_defer.py/GatherDeferredsTests.test_fire_when_all_fired