'If ``retry_failure`` fails more times than there are steps provided, it
errors back with the last failure.'

def test_too_many_iterations(self):

    steps = [0.1]
    result = object()
    failure = Failure(ValueError('really    bad    value'))
    results = [Failure(ValueError('bad    value')), failure, succeed(result)]
    def function():
        return results.pop(0)
    clock = Clock()
    d = retry_failure(clock, function, steps=steps)
    self.assertNoResult(d)
    clock.advance(0.1)
    self.assertEqual(self.failureResultOf(d), failure)
