'C{runUntilFailure} doesn\'t decorate the tests uselessly: it does it one
time when run starts, but not at each turn.'

def test_runUntilFailureDecorate(self):

    decorated = []
    def decorate(test, interface):
        decorated.append((test, interface))
        return test
    self.patch(unittest, 'decorate', decorate)
    result = self.runner.runUntilFailure(self.test)
    self.assertEqual(result.testsRun, 1)
    self.assertEqual(len(decorated), 1)
    self.assertEqual(decorated, [(self.test, ITestCase)])
