'Really run C{setUp}, the test method, and C{tearDown}.  Any of these may
return L{defer.Deferred}s. After they complete, do some reactor cleanup.
@param result: A L{TestResult} object.'

def _runFixturesAndTest(self, result):

    from twisted.internet import reactor
    self._deprecateReactor(reactor)
    self._timedOut = False
    try:
        d = self.deferSetUp(None, result)
        try:
            self._wait(d)
        finally:
            self._cleanUp(result)
            self._classCleanUp(result)
    finally:
        self._undeprecateReactor(reactor)
