'C{runUntilFailure} applies the force-gc decoration after the standard
L{ITestCase} decoration, but only one time.'

def test_runUntilFailureForceGCDecorate(self):

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